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