我得到的最奇怪的#1異常的代碼的最後一行:C#形式未知StackOverflowException
inputPrice是的NumericUpDown
private void inputPreis_ValueChanged(object sender, EventArgs e)
{
if (checkBoxUnlock.Checked == false)
{
if (oldInputPreisValue == 0)
{
inputPreis.Value = 5;
}
else if (oldInputPreisValue == 5)
{
if (inputPreis.Value > oldInputPreisValue)
inputPreis.Value = 8;
else if (inputPreis.Value < oldInputPreisValue)
inputPreis.Value = 5;
}
else if (oldInputPreisValue == 8)
{
if (inputPreis.Value > oldInputPreisValue)
inputPreis.Value = 10;
else if (inputPreis.Value < oldInputPreisValue)
inputPreis.Value = 5;
}
//etc...
}
oldInputPreisValue = Convert.ToInt32(inputPreis.Value);
}
的腳本應該讓用戶改變的值numericUpDown(inputPrice)爲固定值。通過檢查checkBoxUnlock checkBox,用戶可以自由設置值。
這是怎麼回事嗎?
它已經是一個整數:oldInputPreisValue = inputPreis.Value; – jdweng
當你設置'inputPreis'的值時,這可能觸發一個事件處理程序嗎?當你調試這個時,你看到這個方法被調用了多少次? – David
該方法一遍又一遍地被調用,但inputPreis的值不會一遍又一遍地被重新設置。只有一次。 –