2013-09-29 60 views
0
public void findspecific(int winnerx, int winnery) 
{ 
    string ineed = "tb" + winnerx + winnery; 
    ineed.text = "Something"; // --> this line isn't work because "ineed" is a string. 
} 

所有的文本框的名稱與「TB」和winnerx和winnery 號一起開始查找文本框,獲勝者是 我不能使用ineed.Text,因爲它的一個字符串不是一個按鈕參考。我如何可以參考tb(x)(y)按鈕與「ineed」字符串 變量?如何通過包含文本框對象名稱的字符串變量來引用存在的文本框?

+3

WPF或WinForm的? – Alberto

回答

0

對於的WinForms:

public void findspecific(int winnerx, int winnery) 
    { 
     string ineed = "tb" + winnerx.ToString() + winnery.ToString(); 
     Control[] matches = this.Controls.Find(ineed, true); 
     if (matches.Length > 0 && matches[0] is TextBox) 
     { 
      TextBox tb = (TextBox)matches[0]; 
      tb.Text = "Something"; 
     } 
     else 
     { 
      MessageBox.Show(ineed, "No Match Found!"); 
     } 
    } 
+0

根據你的命名習慣,你可能需要用'winnerx.ToString(「00」)''和'winnery.ToString(「00」)''來填充你的數字。 –

+0

我不確定這段代碼如何工作,但解決了我的問題:)謝謝! :) – user2828457

0

可能是這樣的。

public void findspecific(int winnerx, int winnery) 
{ 
    string ineed = "tb" + winnerx + winnery; 
    if (anyButton.Name.Equals(indeed)) // 
    { 
     anyButton.Text = "Something"; 
    } 
} 
+0

建議的代碼不提供按名稱查找文本框的方法 –

+0

@DmitryDovgopoly您可以告訴我它沒有提供查找方式嗎?問題究竟在哪裏?哪條線?你必須更具體地說明爲什麼它不工作? –

-2

我對WPF相當陌生,但有些東西告訴我你不能這樣做。 TEXTBOX是一個資源,它被分配了一個資源ID,使其成爲一個CONST。在我的項目中,我必須通過解析字符串並使用IF語句來更新相應的TEXTBOX來封裝文本分配。

+1

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname.aspx –

+0

按照上面的德米特里的鏈接。這是我用過的,但它說明它比我更好 –

相關問題