2017-07-27 49 views
-1

這是我第一次在一個文本框錯誤說(在infoGather文本)「的對象引用需要非靜態字段...」

private static void infoGather_keydown(object sender,KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     if (username == null) 
     { 
      username = infoGather.Text; 
     } 
     else 
     { 
      password = infoGather.Text; 
      if (username == "admin" && password == "admin") 
      { 
       MessageBox.Show("welcome"); 
      } 
     } 
    } 
} 

遇到這個錯誤這是我第一次遇到它在TextBox

+0

在哪裏定義了用戶名,密碼和infoGather?他們是成員變量,不是靜態的權利? –

+0

是的定義。 –

回答

3

您的文本框infoGatheran是該類的一個實例的成員,而不是static。因此,您無法通過靜態函數訪問它。

如果你考慮一下它沒有任何意義 - 靜態方法屬於類而不是特定實例,因此當你試圖訪問實例的成員時 - 它會是哪個實例?

要解決具體的錯誤 - 是否有任何真正的原因有這種方法static?如果不是從簽名中刪除static

相關問題