2017-10-01 76 views
0

我需要一些幫助,因爲我似乎無法在此處顯示文本標籤。我正在使用Windows Form C#VS 2015.當我按下輸入錯誤是在barangay = int.Parse(lblDistrict.Text);呃也是,我使用相同的方式console.readline被使用,但它似乎不起作用。有人可以在代碼中幫助我嗎? :)在此先感謝我使用int解析方式與它在控制檯應用程序中的方式相同,但在winforms中不起作用

private void txtBarangay_KeyPress(object sender, KeyPressEventArgs e) 
{ 

    int barangay = 0; 
    barangay = int.Parse(lblDistrict.Text); 

    if (e.KeyChar == (char)13) 
    { 
     if (barangay >= 1 && barangay <= 146) 
     { 
      lblDistrict.Text = "District 1"; 
     } 
     else if (barangay >= 147 && barangay <= 267) 
     { 
      lblDistrict.Text = "District 2"; 
     } 
    } 
} 
+0

你會得到什麼錯誤? –

+0

它不再顯示錯誤,但它什麼都不顯示。 –

+0

那麼'lblDistrict.Text'的價值是什麼?你做了什麼診斷?你有沒有在調試器中完成這一步?處理程序是否被調用?請提供[mcve]。 –

回答

0

這是關注的問題。當你按下鍵時,哪個控件是關注的?這是你寫過KeyPress事件的那個嗎?

因此,您必須確保按下該按鈕時該特定控件是否具有焦點,或者將其添加到所有控件。

+0

Enter = 13我在youtube上看到,當e.KeyChar ==(char)13輸入時 –

+0

是_Enter_的KeyCode是13,問題在於你已經寫了_KeyPress_事件的控件, _Enter_鍵以觸發事件。另外請注意,'Label'控件的焦點不會觸發(如果控件是標籤) –

+0

它完成但格式異常是在這次處理的。 –

0

首先,請在您按順序捕獲異常程序try-catch塊

如果在文本框中輸入字符串包含ONLY號碼(例「12er」)其他任何東西,它會拋出異常。嘗試Int.TryParse如果是這種情況

相關問題