我有一个我有10个文本框的地方,它们被命名为textbox1,textbox2等等。我想在单个富文本框中的所有文本框中打印值。有什么方法可以做到这一点。 我目前的做法是:
richTextBox1.Text = label1.Text + "\t:\t" + textBox1.Text + "\n" + label1.Text + "\t:\t" + textBox1.Text;
但正如您所看到的,为所有文本框键入它将非常麻烦。
答案 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();