如何在richtextbox中的多个文本框中打印值

时间:2013-09-19 09:21:35

标签: c# winforms

我有一个我有10个文本框的地方,它们被命名为textbox1,textbox2等等。我想在单个富文本框中的所有文本框中打印值。有什么方法可以做到这一点。 我目前的做法是:

richTextBox1.Text = label1.Text + "\t:\t" + textBox1.Text + "\n" + label1.Text + "\t:\t" + textBox1.Text;

但正如您所看到的,为所有文本框键入它将非常麻烦。

3 个答案:

答案 0 :(得分:2)

for(int i = 1; i < 11; i++){
   yourRichTextBox.Text += string.Format("{0}\t:\t{1}\r\n",
    yourForm.Controls["label" + i].Text, yourForm.Controls["textBox" + i].Text);
}

注意:如果您使用表单类中的代码,只需将yourForm替换为this,或者只需删除yourForm

答案 1 :(得分:0)

尝试以下内容:

private string ReadTextboxes()
{
    return textbox1.Text + textbox2.Text + textbox2.Text + ...
}

private string SetRichTextbox()
{
    richTextBox1.Text = ReadTextboxes();
}

答案 2 :(得分:0)

试试吧......

 private string GetTextBoxStrings()
        {
            string richTextString = string.Empty;
            List<KeyValuePair<string, string>> TextBoxList = new List<KeyValuePair<string, string>>();

            foreach (Control c in this.Controls)
            {
                if (c is TextBox)
                {
                    TextBoxList.Add(new KeyValuePair<string, string>(((TextBox)c).Name,((TextBox)c).Text));
                }
            }
            TextBoxList = TextBoxList.OrderBy(x => x.Key).ToList();

            foreach (var item in TextBoxList)
            {
                richTextString += item.Value + "\t:\t";
            }
            return richTextString;
        }

然后调用它并分配到richtextBox。

richTextBox1.Text = GetTextBoxStrings();