簡體   English   中英

C#在代碼中更改文本框名稱

[英]c# change textbox name in code

我只是想知道這樣的事情是否可能:

for(int i = 0; i < 7; i++)
{
    textbox + i + .text = aString;
}

我想更改一段代碼以在多個文本框上工作,而不必鍵入整個代碼6次。 有誰知道這是否可行以及如何實現? 謝謝:3

在C#中,您可以在頁面aspx中找到控件。

例:

for (int i = 0; i < 10; i++)
 {

     TextBox textBox = this.Page.FindControl("textbox" + i.ToString()) as TextBox;
     if (textBox != null)
     {
        textBox.Text = "change Text";
     }
  }

好吧,只是告訴你我是新手。

public void AddStringToTextbox(int i, string value)
{
 switch(i)
 {
 case: 0:
 break;

 case: 1:
 textbox1.text = value;
 break;

 case: 2:
 textbox2.text = value;
 break;

 case: 3:
 textbox3.text = value;
 break;

 //and more
 }
}

//how to use

for(int i = 0; i < 7; i++)
{
 AddStringToTextbox(i, aString);
}

對於Winforms嘗試使用此工具,應該會更安全一些。

      var textBoxes = this.Controls.OfType<TextBox>();

      for (int i = 0; i < 10; i++)
      {
        var textBox = textBoxes.FirstOrDefault<TextBox>(t => t.Name.Equals("textBox" + i.ToString()));
        if(textBox != null)
        {
          textBox.Text = i.ToString();
        }
      }

嘗試將控件放入數組或列表中,然后從那里引用它們。 例如:

public class MyClass
{
    private List<TextBox> textboxes;

    public MyClass()
    {
        this.InitializeComponent();
        textboxes = new List<TextBox>(){ textbox1, textbox2, textbox3 };
    }

    private void UpdateTextBoxes(string aString)
    {
        for(var i = 0; i < textboxes.Count; i++)
        {
            textboxes[i].Text = aString;
        }
    }
}

或者,如果您的問題表明這是一個簡單的更新,請嘗試

textbox1.Text = 
textbox2.Text = 
textbox3.Text = 
textbox4.Text = 
textbox5.Text = 
textbox6.Text = 
textbox7.Text = 
    aString;

可能對您有幫助。 列出TextBox並在需要的地方使用。

        List<TextBox> textBoxs = new List<TextBox>();

        textBoxs.Add(textBox1);
        textBoxs.Add(textBox2);
        textBoxs.Add(textBox3);
        textBoxs.Add(textBox4);
        textBoxs.Add(textBox5);
        textBoxs.Add(textBox6);
        textBoxs.Add(textBox7);

        for (int i = 0; i < 7; i++)
        {
            textBoxs[i].Text = aString;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM