我的表單中有3個NumericUpDown
元素。這些元素通過它們的總和進行同步。例如sum是9個元素值是3,3,3,增量是2.當用戶從第3個元素改變到第5個時,我們必須得到5,2,2。僅針對用戶交互的NumericUpDown事件
對於同步,我曾嘗試使用事件ValueChanged
和VisibleChanged
,但它們在我們進行編程修改或用戶交互時正在工作。 我對每個元素都使用此方法,但對於此事件,此方法在結果值其他元素在代碼中發生更改時再次開始更改。
private void numericUpDown1Change(object sender, EventArgs e)
{
int oldValue = Sum - (int)numericUpDown2.Value - (int)numericUpDown3.Value;
int average;
if ((int)numericUpDown1.Value - oldValue > 0)
{
average = ((int)numericUpDown1.Value - oldValue)/2;
numericUpDown2.Value = numericUpDown2.Value - average;
numericUpDown3.Value = numericUpDown3.Value - average;
}
else
{
average = (oldValue - (int)numericUpDown1.Value)/2;
numericUpDown2.Value = numericUpDown2.Value + average;
numericUpDown3.Value = numericUpDown3.Value + average;
}
}
我想使用事件,當用戶單擊向上或向下按鈕時,或者用戶輸入新值時,什麼工作。
我必須選擇什麼樣的事件呢?
一些代碼和你的實際問題會有所幫助。 –