1
我想一個新的屬性添加到現有的標籤.NET控件,如自動調整大小(現有的標籤屬性),添加新特性到.NET控件
像IsWordWrap(新自定義屬性)=真。 (這樣的話可以自動換行)
有什麼想法?這樣我就可以給LabelName.IsWordWrap = true;
Textbox有wordwrap propery,有什麼辦法可以繼承那個標籤嗎?
我想一個新的屬性添加到現有的標籤.NET控件,如自動調整大小(現有的標籤屬性),添加新特性到.NET控件
像IsWordWrap(新自定義屬性)=真。 (這樣的話可以自動換行)
有什麼想法?這樣我就可以給LabelName.IsWordWrap = true;
Textbox有wordwrap propery,有什麼辦法可以繼承那個標籤嗎?
您將從Label
中派生出一個新類並添加所需的邏輯。簡單地將TextBox
設計成看起來像標籤會容易得多。
using System.Windows.Forms;
// ...
class WrappingLabel : Label
{
private bool _isWordWrap
public bool IsWordWrap
{
get { return _isWordWrap; }
set
{
if(_isWordWrap != value)
{
_isWordWrap = value;
FormatText(value);
}
}
}
private void FormatText(bool wrapped)
{
// logic to wrap or un-wrap text goes here.
// you will need to call this when the text changes as well.
}
}
您還可以查看列出的解決方案here(還有其他幾個)。
是的,我同意你的文本框,但是你可以請你展示一個快速樣本,如果你有推導新課程以及如何固定新的屬性? – Sharpeye500 2012-03-01 01:33:22
@ Sharpeye500:增加了一個例子。我沒有實際實現包裝邏輯,因爲我沒有時間。儘管如此...只是使用一個TextBox。如果使用標準控件(並且可以)獲得所需的外觀和行爲,則會浪費時間。 – 2012-03-01 01:35:19