Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在richtextbox中打印多个文本框中的值_C#_Winforms - Fatal编程技术网

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

C# 如何在richtextbox中打印多个文本框中的值,c#,winforms,C#,Winforms,我有10个文本框,它们被命名为textbox1、textbox2等等。我想在一个富文本框中打印所有文本框中的值。我有什么办法可以做到吗。 我目前的做法是: richTextBox1.Text = label1.Text + "\t:\t" + textBox1.Text + "\n" + label1.Text + "\t:\t" + textBox1.Text; 但正如您所见,为所有文本框键入它将非常麻烦。请尝试以下操作: private string ReadTextboxes() {

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

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

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

请尝试以下操作:

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

private string SetRichTextbox()
{
    richTextBox1.Text = ReadTextboxes();
}
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);
}
注意:如果您在表单类中使用了代码,只需将
表单
替换为
,或者只需删除
表单
即可尝试使用此

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

使用StringBuilder():是否有文本框名称循环?@Kratos为什么有
label1.Text
这里?@KingKing……这是我的原始代码……我只是要求使用文本框,因为我可以在标签上应用相同的逻辑also@Kratos你试过我的密码了吗?@Kratos这只是因为你以前输入了
textbox
,在重新扫描您的问题后,它是
textBox
,只需在我的代码中将
textBox
替换为
textBox
。@Kratos您能发布您测试过的代码吗?代码是如此简单,我相信它应该工作。顺便说一句,你的
文本框是放在你的表格上还是其他容器上?对不起,完全是我的错。你的代码运行得很好……我再一次很抱歉打扰你……我如何在同一个字符串连接函数中使用标签和文本框的上述代码。@奎托斯你有相应的
标签
label1
label10
 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;
        }
richTextBox1.Text = GetTextBoxStrings();