如何检查用户是否将NumericUpDown
控件留空,删除其上的值?所以我可以重新分配它的值 0。
问问题
13404 次
7 回答
10
if(NumericUpDown1.Text == "")
{
// If the value in the numeric updown is an empty string, replace with 0.
NumericUpDown1.Text = "0";
}
于 2013-02-25T18:54:08.540 回答
6
使用已验证的事件并请求 text 属性可能很有用
private void myNumericUpDown_Validated(object sender, EventArgs e)
{
if (myNumericUpDown.Text == "")
{
myNumericUpDown.Text = "0";
}
}
于 2013-12-12T22:29:29.203 回答
2
即使用户删除了numericUpDown
控件的内容,它的值仍然保留。
upDown.Text
将为“”,但upDown.Value
将是先前输入的有效值。因此,在事件中,我
“防止”用户将控件留空的方式是:onLeave
upDown.Text = upDown.Value.ToString();
于 2018-03-29T15:20:23.420 回答
0
decimal d = 0
if(decimal.TryParse(NumericUpDown1.Text, out d)
{
}
NumericUpDown1.Value = d;
于 2013-02-25T19:01:29.357 回答
0
试试这个
if (string.IsNullOrEmpty(((Control)this.nud1).Text))
{
//null
}
else
{
//have value
}
于 2014-09-26T13:12:20.920 回答
0
如果要禁止 为空值NumericUpDown
,只需使用此类。其效果是,一旦用户尝试使用select-all + backspace key擦除控制值,则再次设置实际数值。这并不是真正的烦恼,因为用户仍然可以全选 + 键入数字来开始编辑新的数值。
sealed class NumericUpDownEmptyValueForbidder {
internal NumericUpDownEmptyValueForbidder(NumericUpDown numericUpDown) {
Debug.Assert(numericUpDown != null);
m_NumericUpDown = numericUpDown;
m_NumericUpDown.MouseUp += delegate { Update(); };
m_NumericUpDown.KeyUp += delegate { Update(); };
m_NumericUpDown.ValueChanged += delegate { Update(); };
m_NumericUpDown.Enter += delegate { Update(); };
}
readonly NumericUpDown m_NumericUpDown;
string m_LastKnownValueText;
internal void Update() {
var text = m_NumericUpDown.Text;
if (text.Length == 0) {
if (!string.IsNullOrEmpty(m_LastKnownValueText)) {
m_NumericUpDown.Text = m_LastKnownValueText;
}
return;
}
Debug.Assert(text.Length > 0);
m_LastKnownValueText = text;
}
}
于 2016-01-25T07:15:15.137 回答
0
你可以试试这个:
if(numericUpDown.Value == 0){
MessageBox.Show(
"Please insert a value.",
"Required", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation
);
return;
}
于 2019-10-14T06:16:42.413 回答