如果我將文本框的值設定為 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。
uj5u.com熱心網友回復:
我已經嘗試過您的代碼,結果相同。
當我洗掉numStartChannel.ResetText();它時,它對我有用。
numStartChannel.Minimum = 1;
numStartChannel.Value = 2;
我的解釋是resetText()將文本設定為默認值。這是'0'。那低于你的最低限度。
這也適用于我:
numStartChannel.Minimum = 0;
numStartChannel.ResetText();
numStartChannel.Value = 1;
如果您numStartChannel.Value ;在重置后使用,則值會正確顯示。
我目前不知道為什么在重置文本后文本沒有更新。我認為這可能是它自己的控制中的一個錯誤。
為什么需要使用resetText?設定值會更改文本。
使用的 .NET 框架:4.7.2
uj5u.com熱心網友回復:
從代碼的角度來看,我個人從未認為NUD 上的Text屬性是有用的;僅使用Value更合乎邏輯
您想將 NUD 重置為最小值嗎?
NUD.Value = NUD.Minimum;
避免使用文本;如果你想要數字字串,你可以自己字串值:
NUD.Value.ToString("F3"); //eg "123.457" if Value is 123.456789
uj5u.com熱心網友回復:
答案是,如果清除控制元件的文本,它不會清除值。因此,當我試圖再次將值設定回其中以顯示時,它并沒有觸發控制元件知道值已更新,因為它沒有。不幸的解決方案是將 .Text 值設定為任何非空的值,例如空格。請注意,智能感知聲稱沒有這樣的屬性,但確實存在。之后設定該值會導致控制元件正確重繪。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432583.html
上一篇:從datagridview中選擇一列的所有值到其他datagridview中的單元格
下一篇:C#cmd輸出進度(%)一行
