【发布时间】:2018-05-13 01:50:54
【问题描述】:
我有一个选项表单,用户必须在其中输入小游戏的参数,从 8 到 32。我的问题是,一旦我开始输入,如果我插入一个低于 8 的数字(我想输入20,例如),只要我输入 2 并将其变为 8,事件就会激活。
private void TXBheight_TextChanged(object sender, EventArgs e)
{
if(int.Parse(TXBheight.Text) < 8)
{
TXBheight.Text = "8";
}
else if (int.Parse(TXBheight.Text) > 32)
{
TXBheight.Text = "32";
}
}
有什么简单的方法可以延迟,或者等到我完成输入?
对于那些认为这个问题可能重复的人,我看了一下,可能的答案来自 6 年前。在那段时间里,语言和编译器不断发展,所以也许我们都可以学习一些新的东西
【问题讨论】:
-
text_changed 事件在每次文本更改时触发。
-
是的,这就是为什么我需要延迟,我不能提示一个完整的数字。
-
为什么不创建一个任务并在每次文本更改时检查它。如果它正在运行,那么如果不在那里做你的事情,则什么也不做
-
您不能延迟事件,最好添加标签并根据文本框中输入的内容进行更新
-
可以限制NumericUpDown控件、ComboBox、ListBox等中的输入范围