2013-03-26 27 views
0

這一直使我完全瘋了!我正在計算值並將這些值返回到我的程序中的標籤。這很長,這裏只是一個例子。當我去編譯它時,它每次循環一次「label18.Text = String.Format(l.ToString(」F1「));」或者類似的運行。例如,這個程序會按順序操作,直到達到標籤18,然後再返回聲明h,w,l,並將每個用戶輸入轉換爲雙倍計算。這些循環加起來並最終導致堆棧溢出,因爲我的程序大小增加。請幫幫我!標籤中是否存在導致此問題的一些設置?將值發送到標籤導致程序循環並導致堆棧溢出錯誤

 private void calculateModes_Click(object sender, EventArgs e) 
    { 
     //Declare, Convert, and Display variables 

     double h,w,l; 

     h = Convert.ToDouble(height.Text.ToString()); //(height); 
     w = Convert.ToDouble(width.Text.ToString()); //width 
     l = Convert.ToDouble(length.Text.ToString()); //length 

     label18.Text = String.Format(l.ToString("F1")); 
     label19.Text = String.Format(w.ToString("F1")); 
     label21.Text = String.Format(h.ToString("F1"));} 
+0

編譯不會導致stackoverflow,也許你的意思是運行它。但是什麼時候發生?點擊按鈕?因爲該代碼看起來無害。 – 2013-03-26 07:35:41

+0

它發生在一個按鈕上點擊 – 2013-03-26 07:36:50

+0

@LewsTherin你是對的,代碼確實看起來無害。我想知道在標籤更改期間是否有任何事件監聽器被觸發? – Magnum 2013-03-26 07:37:39

回答

2

作爲一種選擇:嘗試檢查label 18的屬性/事件,看看是不是有TextChange事件處理程序設置爲calculateModes_Click

+0

+1這似乎是原因.. – 2013-03-26 07:41:54

+0

是的,有一個TextChange選項下的事件處理程序設置爲calculateModes_Click – 2013-03-26 07:44:10

+0

那麼,我應該怎麼做呢? – 2013-03-26 07:44:32

相關問題