如果我将文本框的值设置为1,最小值为1,则此代码不起作用。
numStartChannel.Minimum = 1;
numStartChannel.ResetText();
numStartChannel.Value = 1;
控件内部实际上有正确的值,但在窗体上仍然显示为空。请注意,重置实际上是在单击事件中运行的,而不是直接在值设置之前。
这个代码确实有效,但我不知道为什么。numStartChannel.Minimum=1;numStartChannel.ResetText((;numStartChannel.Value=2;numStartChannel.Value=1;
最后,这个代码不起作用:
numStartChannel.Minimum = 1;
numStartChannel.ResetText();
numStartChannel.Value = 1;
numStartChannel.Value = 1;
有人能解释这种行为吗?C#Visual Studio 2022。
我已经尝试过您的代码,但得到了相同的结果。
当我移除numStartChannel.ResetText();
时,它对我有效。
numStartChannel.Minimum = 1;
numStartChannel.Value = 2;
我的Explination是resetText()
将文本设置为默认值。即"0"。那是在你的minium下面。
这也适用于我:
numStartChannel.Minimum = 0;
numStartChannel.ResetText();
numStartChannel.Value = 1;
如果在重置后使用numStartChannel.Value++;
,则"值"将正确显示。
我目前不知道为什么在重新设置文本后文本没有更新。我认为这可能是它自身控制中的一个错误。
为什么需要使用resetText
?设置该值将更改"文本"。
使用的.NET Framework:4.7.2
从代码的角度来看,我个人从未认为NUD上的Text属性有任何用处;只使用值更符合逻辑
您想将NUD重置为最小值吗?
NUD.Value = NUD.Minimum;
避免使用文本;如果你想要数字字符串,你可以自己字符串值:
NUD.Value.ToString("F3"); //eg "123.457" if Value is 123.456789
答案是,如果清除控件的文本,它不会清除值。因此,当我试图再次将值设置回其中以显示时,它并没有触发控件知道值已经更新,因为它没有。不幸的解决方案是还将.Text值设置为任何非空的suc作为空格。请注意,intellisense声称没有这样的属性,但有。之后设置该值会导致控件正确地重新绘制。