2016-01-02 73 views
-3

如何獲取文本框的值並將其存儲在類方法中的FORM.cs之外,以便我可以在標籤上顯示該值? 這只是一個測試應用程序。我想要有獨立於GUI的代碼。從類文件獲取或設置窗體控件的值

這裏是我試圖:

Form.cs

private void button4_Click(object sender, EventArgs e) 
{      
    cueTextBox2.Text = value; 
    Calling cal = new Calling(); 
    cal.setntags(value); 
} 

Calling.cs

public string setntags(string value) 
{     
    value = tag1; 
    MessageBox.Show("done"); 
    return tag1;  
} 
+0

你們是不是要設置'tag1'到'value'的價值? – AustinWBryan

+0

如果你想在GUI中保留'Calling.sc',那麼刪除'MessageBox.Show()',因爲這是GUI方法。如果您僅使用messagebox進行測試,則將其替換爲'Debug.Print(「some message」);'並檢查輸出控制檯中的所有消息 – Fabio

+0

是的,它僅用於測試 –

回答

1

這裏是我發現

  private void button4_Click(object sender, EventArgs e) 
      { 
      int retVal; 
      string local; 
      Calling cal = new Calling(); 
      local = cueTextBox2.Text; 
      retVal = cal.setNtagsDummy(ref local); 
      if (retVal == 0) 
      { 
      label13.Text = cueTextBox2.Text; 
      } 

,並在類文件中answer..what

public int setNtagsDummy(ref string setndum) 
    { 
     int retVal; 
     Console.WriteLine("done"); 
     setndum = ""; 
     retVal 0; 
    } 
1

setintags要分配valuetag值。因爲您傳遞button4_Click.value的副本,所以在功能結束時它不會改變。如果你想改變的value值,你需要這樣做:

public string setntags(ref string value) 
{ 
    MessageBox.Show("Done."); 
    return value = tag1; 
} 

,並調用它像cal.setntags(ref value)); 這裏的關鍵是'ref'關鍵字,它允許你通過引用傳遞一個變量,它可以讓你在一個函數中改變它的值。

Howeeer,如果你想的value值存儲在tag1,你需要這樣做:

public string setntags(string value) 
{ 
    MessageBox.Show("Done"); 
    return tag1 = value; 
} 

指派指派賦值運算符值右側的左手邊。

相關問題