如何通过包含文本框对象名称的字符串变量引用存在的文本框

本文关键字:文本 字符串 变量 存在 引用 何通过 包含 对象 | 更新日期: 2023-09-27 18:33:23

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。文本,因为它是字符串而不是按钮引用。如何引用带有"ineed"字符串的 tb(x)(y) 按钮 变量?

如何通过包含文本框对象名称的字符串变量引用存在的文本框

对于 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!");
        }
    }

可能是这样的。

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

我对 WPF 相当陌生,但有些事情告诉我你不能这样做。文本框是一个资源,它被分配了一个资源 ID,使其成为 CONST。在我的项目中,我不得不通过解析字符串并使用 IF 语句更新相应的 TEXTBOX 来封装文本赋值。