0

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

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

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

4

3 回答 3

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);
}

注意:如果您在表单类中使用代码,只需替换yourFormthis或删除yourForm

于 2013-09-19T09:26:26.417 回答
0

尝试以下操作:

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

private string SetRichTextbox()
{
    richTextBox1.Text = ReadTextboxes();
}
于 2013-09-19T09:24:54.193 回答
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();
于 2013-09-19T10:26:47.840 回答