我想将属性添加到我的自定义控件中,如上面带有描述的示例属性! 我不知道如上所述用GUI显示热点。 我想知道使用它的属性。
private bool IsNum = true;
[PropertyTab("IsNumaric")]
[Browsable(true)]
[Description("TextBox only valid for numbers only"), Category("EmSoft")]
public bool IsNumaricTextBox
{
set
{
IsNum = value;
}
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
if (IsNum)
{
doStruf(e);
}
}
private void doStruf(KeyPressEventArgs e)
{
if (!System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), "\\d+") && !char.IsControl(e.KeyChar))
e.Handled = true;
}
我想将此显示为带描述的属性工具框
喜欢这个属性框
IsNumaric True
答案 0 :(得分:1)
该属性需要一个Getter才能显示在属性网格中:
private bool isNum = true;
[PropertyTab("IsNumaric")]
[Browsable(true)]
[Description("TextBox only valid for numbers only"), Category("EmSoft")]
public bool IsNumaricTextBox {
get { return isNum; }
set { isNum = value; }
}
答案 1 :(得分:0)
实现起来相当容易,你只需要用下面的示例中的属性来装饰它:
[PropertyTab("IsNumaric")]
[DisplayName("NumericOrNot")]
[Category("NewCategory")]
public bool IsNumaricTextBox
{
set
{
IsNum = value;
}
}
要使其正常工作,您需要使用以下内容:
using System.ComponentModel
如果您未指定Category
- 属性将显示在Misc
类别下(请注意,默认情况下,属性按名称显示,而不是按类别显示)。在此示例中,属性将显示在NewCategory
下,属性的名称将为NumericOrNot
。