C# 如何创建RichTextBox';c中的s#

C# 如何创建RichTextBox';c中的s#,c#,.net,arrays,winforms,richtextbox,C#,.net,Arrays,Winforms,Richtextbox,我正在开发一个桌面应用程序,我被这段代码打动了,我想在一个桌面应用程序下面创建15个RichTextBox。但它给了我一个错误“对象引用未设置为…”之类的 RichTextBox[] richboxes = new RichTextBox[14]; Array rboxarray = Array.CreateInstance(typeof(RichTextBox),14); int y = 128; int j = 0;

我正在开发一个桌面应用程序,我被这段代码打动了,我想在一个桌面应用程序下面创建15个RichTextBox。但它给了我一个错误“对象引用未设置为…”之类的

        RichTextBox[] richboxes = new RichTextBox[14];
        Array rboxarray = Array.CreateInstance(typeof(RichTextBox),14);
        int y = 128;
        int j = 0;
        foreach(RichTextBox rbox in rboxarray)
        {
            Controls.Add(rbox);
            rbox.Location = new System.Drawing.Point(14, y);
            rbox.Name = "richTextBox"+ (12+j);
            rbox.Size = new System.Drawing.Size(671, 68);
            rbox.TabIndex = 41 + j;
            rbox.Text = "";
            y += 70;
            j++;
        }
但行
rbox.Location=新系统图点(14,y)上的错误
请为我提供正确的代码。

对于RichTextBoy数组实例中的For循环,它将起作用:

        for (int i = 0; i < richboxes.Length; i++)
        {
            richboxes[i] = new RichTextBox(); // Instance the TextBox

            Controls.Add(richboxes[i]);
            richboxes[i].Location = new System.Drawing.Point(14, y);
            richboxes[i].Name = "richTextBox" + (12 + j);
            richboxes[i].Size = new System.Drawing.Size(671, 68);
            richboxes[i].TabIndex = 41 + j;
            richboxes[i].Text = "";
            y += 70;
            j++;
        }
for(int i=0;i
在RichTextBoy数组实例上使用For循环,它将工作:

        for (int i = 0; i < richboxes.Length; i++)
        {
            richboxes[i] = new RichTextBox(); // Instance the TextBox

            Controls.Add(richboxes[i]);
            richboxes[i].Location = new System.Drawing.Point(14, y);
            richboxes[i].Name = "richTextBox" + (12 + j);
            richboxes[i].Size = new System.Drawing.Size(671, 68);
            richboxes[i].TabIndex = 41 + j;
            richboxes[i].Text = "";
            y += 70;
            j++;
        }
for(int i=0;i
RichTextBox[]txt=新的RichTextBox[15];
对于(int i=0;i<15;i++)
{
txt[i]=新的RichTextBox();
txt[i].Text=“”;
如果(i>0)
{
txt[i]。左=txt[i-1]。右;
}
this.Controls.Add(txt[i]);
}
RichTextBox[]txt=新的RichTextBox[15];
对于(int i=0;i<15;i++)
{
txt[i]=新的RichTextBox();
txt[i].Text=“”;
如果(i>0)
{
txt[i]。左=txt[i-1]。右;
}
this.Controls.Add(txt[i]);
}

您能提供整个错误吗?“ProjectYello.exe中发生“System.NullReferenceException”类型的未处理异常。其他信息:对象引用未设置为对象的实例。“rbox.Location=new System.Drawing.Point(14,y)之前检查”;如果是rbox!=调试时为null。foreach循环的第一次迭代出现错误?您创建了一个引用数组,但没有实例化任何对象。您能提供整个错误吗?“ProjectYello.exe中发生了类型为“System.NullReferenceException”的未经处理的异常。其他信息:对象引用未设置为对象的实例。”rbox前检查。位置=新系统。图纸。点(14,y);如果是rbox!=调试时为null。foreach循环的第一次迭代时出错?您创建了一个引用数组,但没有实例化任何对象。错误:“无法分配给'rbox',因为它是一个'foreach迭代变量'”。第行“rbox=new RichTextBox();”@HTD查看向上投票数,您应该用正常的for循环替换foreach的
。谢谢但是,有没有办法将这些生成的RichTextBox添加到表格以外的选项卡页中?@KingKing:谢谢,删除了!错误:“无法分配给'rbox',因为它是一个'foreach迭代变量'”。在“rbox=new RichTextBox();“@HTD”行上,查看向上投票数,您应该用正常的
for循环
替换
foreach
,就是这样做的。谢谢但是,有没有办法将这些生成的RichTextBox添加到表格以外的选项卡页中?@KingKing:谢谢,删除了!