假设我们已经0
在控件的值字段中显示,我希望如果值是0
- 显示string.Empty
(我知道值的类型是小数,并且不能插入字符串而不是小数,但仍然......也许那里可能有一些格式?)。
问问题
3207 次
4 回答
4
注意:这取决于NumericUpDown
.
您需要做的是创建一个继承自NumericUpDown
以下内容的新控件:
public partial class SpecialNumericUpDown : NumericUpDown
{
public SpecialNumericUpDown()
{
InitializeComponent();
}
protected override void UpdateEditText()
{
if (this.Value != 0)
{
base.UpdateEditText();
}
else
{
base.Controls[1].Text = "";
}
}
}
于 2010-07-30T08:09:34.273 回答
1
似乎对更改格式的支持非常有限。
我自己没有尝试过。但是您可以创建一个子类并覆盖该UpdateEditText
方法以支持您的自定义格式。像这样的东西:
protected override void UpdateEditText()
{
this.Text = Value.ToString(); // Insert your formatting here
}
于 2010-07-30T08:04:35.647 回答
1
public partial class MyNumericUpDown : NumericUpDown
{
public override string Text
{
get
{
if (base.Text.Length == 0)
{
return "0";
}
else
{
return base.Text;
}
}
set
{
if (value.Equals("0"))
{
base.Text = "";
}
else
{
base.Text = value;
}
}
}
}
于 2010-07-30T08:07:15.697 回答
-1
如果您只想对用户隐藏该值,您可以将ForeColor
其设置为相同,BackColor
以便用户看不到里面的值NumericUpDown
。
于 2013-10-14T06:54:44.003 回答