hocam düz mantık olacak ama şyle bişe yapsan mesela label1 karakter uzunluğu şu kadarsa width arttır

windows apilerini nasıl kullanacağını http://www.tahribat.com/Dokuman-Windows-Api-Kullanimi-C-Net-368/ şu dkümanda ğrenebilirsin - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

Hacılar yaptığım iş openFileDialog'dan bir dizindeki dosyayı seçince, seçilen dizinin label'da grünmesi. Bu kısımda sıkıntı yok. Fakat dizin çok uzun olduğu zaman label a sığmıyor rneğin; c:\program files\asdasdasd\bdbdbdbdbd\tbt. exe dizinine tıkladığımda label a sadece c:\program files\ kısmı sığıyor. Benim yapmak istediğim şey label a sığmayacak bir değer girildiğinde label içine c:\...\tbt. exe şeklinde dizinin ilk ve son kısmını label a sığacak şekilde yazdırmak, mümkün müdür? edit: şu şekilde birşey buldum ama nasıl kullanacağım hakkında bir fikrim yok. C#'ta aşağıdaki Windows API'sini kullanarak uzun dizin isimlerini arasına... gelecek şekilde kısaltabiliyorsunuz. static extern bool PathCompactPathEx ; Bylece aşağıdaki gibi dizin isimleri elde edilebiliyor : C:\Documents and Settings\jatwood...\UnitTests. vb \\wumpus\public\Hilo Deliverab...\photo-small. jpg since 2005 // tbt

: windows apilerini nasıl kullanacağını http://www.tahribat.com/Dokuman-Windows-Api-Kullanimi-C-Net-368/ şu dkümanda ğrenebilirsin Dküman sana aitmiş hocam eline sağlık, okuyorum. since 2005 // tbt

hocam teşekkürler çzüm için ama daha global kullanabileceğim bir çzüm gerekiyor bana since 2005 // tbt

Teşekkür ediyorum Hocam. o verdiğim WinApi'yi kullanmayı başaramazsam sanırım kullanmam gereken yntem bu olacak. Ama bu WinApi yi çzebilirsem en verimisi o olacak sanıyorum since 2005 // tbt

api ile ilgili her zaman pinvoke. net sitesine bak. bir çok apinin hem signature u hem de kullanımı sitelerinde vardır http://www.pinvoke.net/default.aspx/shlwapi. pathcompactpathex Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Hocam zaten AutoSize zelliği tam olarak bu dediğini yapıyor. Ama dediğim gibi benim label boyum sınırlı ama içine dizin boyu ne olursa olsun sığdırmam gerekiyor bunun da tek yolu C:\...\test. exe haline bir şekilde getirebilmek diye düşünüyorum. since 2005 // tbt

SharpShooter ve unbalanced hocalar teşekkür ediyorum. Dkümandaki WinApi kullanımı ile verdiğin sitedeki rnek ile olayı hallettim. since 2005 // tbt

şyle yap o zmn hocam şu anda tuttuğun yolu bir stringe ata label a da text ine kendin yaz "C/ .../tbt. exe" diye 4641544948 53415249544153

şyle bir şey yapabilirsin. 1. yol ncelikle label in belirttiğin lçülerde kaç tane karakter aldığını bul atıyorum 108 tane. 8 tane karakteri çıkar ve onu 100 olarak varsay. çünkü gelen bilgide i karakteri de çok olabilir a karakteri de. Kapladığı hacimler farklı olacaktır.. yapacağın işlem filename stringinden ilk 100-105 karakteri alıp incelemektir.. bu inceleme şyle olacak c:\a...\ ... \senindosyan. exe ncelikle 100 ile senindosyan. exe karakterlerini (toplam karakter sayısı 16) çıkart, 84 eder. gelen filne name atıyorum 200 karakter olsun. senin yapacağın iş. 0-84 karakter arasını almandır ve sonra slash karakterini arayacaksın. ilk olarak bu karakteri max 5 olmak üzere arttırıp slash bulmaya çalış 84 karakter için c: ... ...\den 85 karakter için c: ...\dene 86 karakter için c:...\denem 87 karakter için c:...\deneme 88 karakter için c:...\deneme\ grdüğün gibi 88. karakterde bulduk. 84 + 5 den küçük olduğu için bunu kullanabilirsin. diziden toplam 88 karakter alıp "c:... deneme\" ... " \senindosyan. exe" gibi eklersin. farzedelelim o klasrün adı deneme değil de "deneme güzel şeydir" diye olsun o halde 84 karakter için c: ... ...\den 85 karakter için c: ...\dene 86 karakter için c:...\denem 87 karakter için c:...\deneme 88 karakter için c:...\deneme 89 karakter için c:...\deneme g 90 karakter için c:...\deneme gü grdüğün gibi hala slash ı bulamadı 84 +5 de. O halde umudu kesip bundan sonra 84. karakter itibaren ilk slashı alıyorsun.. lastofindex var c# da. onunla tüm karakter - 84 yaparsın ondan sonra sana ilk slashın yerini syler.. yukarıdaki işlemi de o şekilde yaptırabilirsin c:... klasr\ şeklinde alırsın sonra c:\...\klasr + ..." \senindosyan. exe" 2. split fonksiyonunu kullanarak "\" işaretiyle bldürüp hesini bir diziye at yani string a = "c:\program files\deneme1\deneme2 " string dizi = a. Split ; yaparsan. dizinin elemanları c: program files deneme1 deneme2 olur. bunların tek tek karakterlerini sırayla topla ve 84 olup olmadığına bak, tabii her bir dizi elemanı için de bir slash eklemeyi unutma c:\program files\ karakter sayısı? 18... 84 oldu mu hayır? devam c:\program files\deneme1\ --> 26... 84 oldu mu? hayır. devam c:\program files\deneme1\deneme2\ -> 34... 84 oldu mu hayır. başka var mı yok? o halde bunu kabul et. farzedelim c:\program... \ deneme12 -> 92... 84 oldu mu? evet geçiyor. O halde deneme12 den ncekileri al (dizideki aktif index neyse onun bir eksiğini alabilirsin dizi + dizi ... . dizi + "senindosya. exe" gibi bir şeyler yapabilirsin.. biraz uzun ve uğraştırıcı yntem oldu ama vermiş olduğun api deki çalışma mantığı bu tarz bir şey Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Hocam label in autoSize zelliği var senin yazına gre kendisi boyutlanıyor bir bak ona istersen 4641544948 53415249544153

Hocam AutoSize bir alt satıra geçiyor. Benim kullanabileceğim label tek satır ve boyu sınırlı 213; 20 boyutları dışına çıkmadan sığdırmam gerekiyor. since 2005 // tbt