簡體   English   中英

在WinForm中向textbox custom usercontrol添加標簽

[英]Add label to textbox custom usercontrol in WinForm

我正在編寫一個包含大量文本框的Windows窗體應用程序。 我想在文本框中添加標簽或標題,這樣我就不必將很多標簽拖到表單上並處理定位等。到目前為止,我已經找到了兩種可行的方法。

  1. 使用標簽和文本框創建用戶控件。 如何根據輸入的文本使控件,標簽和文本框適當調整大小,因為控件可以重復使用,並且將輸入不同的文本大小。 如何使文本框的所有屬性和事件保持不變。

  2. 擴展普通文本框並添加名為label或caption的字符串屬性,並在文本框的左側顯示此屬性。 我知道這可以在帶有CSS的Web.UI中完成但是它有可能在winform中如何實現?

有關如何做其中任何一項的任何建議? 謝謝。

您可以創建包含標簽和文本框的UserControl 將用戶控件添加到表單時,將同時添加標簽和文本框。 您可以公開標簽和文本框的屬性,以便在設計或運行時分配值。

使用此方法,您可以添加多個用戶控件以標准化布局。 至於根據文本調整控件大小,您必須訂閱事件並手動更改大小。

例如,您可以訂閱標簽和文本框的TextChanged事件。 觸發事件時,您計算字符串的大小,然后相應地調整控件的寬度和位置。

如果你到達了太多文本框的地步,我建議你切換到DataGridView GridView組件非常適合您所描述的內容,但當然它要求您接受網格布局。

使用GridView所涉及的獎勵之一很難被欣賞,直到你看到它的實際效果:它一次只創建一個HWINDOW(如果你處於編輯模式,則只有兩個)。 如果在表單上創建標簽和文本框,則每個表單都在操作系統中注冊為HWINDOW對象。 所有這些HWINDOW對象都需要時間來顯示! 在.NET 1.0中,WinForms非常慢,超過大約24個控件的對話框無法使用。 盡管.NET 2.0在這方面要好得多,但是通過使用管理大量數據的單個控件仍然可以獲得明顯更好的性能,而不是每個管理一個數據的大量控件。

哦,另外一個選擇,如果你喜歡:你也可以嘗試一下PropertyGrid 它的優點是它還可以顯示幫助,並允許您為每個元素創建復雜的編輯控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM