Metin kutusu genişliğine bağlı olarak bir yolu görüntüleyebilen bir akıllı metin kutusu denetimi (WinForms) var. Örneğin, yol kısasa, tüm yolu (C: \ myfile.txt) görüntüler, ancak yol uzunsa, başlangıç ve bitiş görüntülenir (C: \ SomeFolder ... \ foo \ MyFile.txt). Görüntülenen karakterlerin uzunluğu, genişliği kullanılarak metin kutusu tarafından hesaplanmalıdır (dinamik olarak). Herhangi bir ticari veya açık kaynak önerisi kabul edilir. Çok teşekkür ederim.C# WinForms - Akıllı Metin Kutusu Denetimi Metin Kutusu genişliğini temel alan Yol uzunluğunu otomatik olarak biçimlendirme
6
A
cevap
15
Evet, TextRenderer.DrawText() yönteminin yerleşik bir özelliği. Aşırı yüklenmelerden biri bir TextFormatFlags argümanını kabul ediyor, TextFormatFlags.PathEllipsis'i geçebilirsiniz. Bunu bir TextBox için yapmak uygun değildir, kullanıcı kısaltılmış bir yolu makul bir şekilde düzenleyemez, orijinal yolun ne olabileceği hakkında hiçbir fikriniz olmazdı. Bir Etiket en iyi kontroldür.
Projenize yeni bir sınıf ekleyin ve aşağıda gösterilen kodu yapıştırın. Derleyin. Yeni kutuyu araç kutusunun üstünden formunuza bırakın. Çok küçük yapma.
using System;
using System.ComponentModel;
using System.Windows.Forms;
class PathLabel : Label {
[Browsable(false)]
public override bool AutoSize {
get { return base.AutoSize; }
set { base.AutoSize = false; }
}
protected override void OnPaint(PaintEventArgs e) {
TextFormatFlags flags = TextFormatFlags.Left | TextFormatFlags.PathEllipsis;
TextRenderer.DrawText(e.Graphics, this.Text, this.Font, this.ClientRectangle, this.ForeColor, flags);
}
}
İlgili konular
- 1. HTML metin kutusu, otomatik metin vurgulama
- 2. Winforms, veri bağlama, Liste kutusu ve metin kutusu
- 3. Metin Kutusu
- 4. Metin Kutusu Kaydırma Etkinliğini Yakala?
- 5. ASP.NET gizli alan vs. görünmez metin kutusu
- 6. satırlı metin kutusu dataGridView
- 7. Otomatik Tam Metin Kutusu veritabanı listesi değeri
- 8. Grup kutusu metin rengini değiştir?
- 9. JQuery Seçilen olaylarda otomatik tamamlama metin kutusu
- 10. Yazarken güncelleme metin kutusu
- 11. Metin kutusu boyutu Flash'ta
- 12. metin kutusu giriş yüksekliği
- 13. kaldır metin kutusu önerileri
- 14. wxPython'da düzenlenemeyen metin kutusu
- 15. "Yeni satır" metin kutusu
- 16. Zengin Metin Kutusu - Kalın
- 17. bir metin kutusu (programlı)
- 18. vba metin kutusu değerini
- 19. C# içindeki onay kutusu listesinde nasıl bir metin kutusu eklenir?
- 20. Onay Kutusu Metin l metnine uymuyor
- 21. jquery otomatik tamamlama metin kutusu set değeri programatik olarak
- 22. Metin bloğunun genişliğini otomatik yapın
- 23. ERB Şablonlarını otomatik olarak metin arkadaşında biçimlendirme
- 24. Hesaplama formülünü içeren metin kutusu
- 25. metin kutusu Biçimlendirme SSRS 2008'de - Yani Hattı
- 26. SSRS Toplam Metin Kutusu, Başlık
- 27. Sunucu tarafı değişkenini, metin kutusu
- 28. WPF Doğrulama bağlanmamış metin kutusu
- 29. Metin genişliğini MFC olarak alın
- 30. metin kutusu ve düğme düzgün
+1 Hans! Bu tam olarak aradığım şey! :) –
Bu harika! Ancak, "Graphics" i "SmoothingMode.AntiAlias" olarak ayarladığımda, TextRenderer onu onurlandırıyor gibi görünmüyor. – petejamd