C# 在同一WinForm窗口中处理多个用户控件

C# 在同一WinForm窗口中处理多个用户控件,c#,C#,我使用下面的代码创建了4个相同的用户控件 vari = 0; for(int a =0;a<=3;a++) { i = i + 100; var control = new XtraUserControl1(); control.Location = new Point(0, i); this.Controls.Add(control); } vari=0; 对于(int a=0;a如果XtraUserControl1是一个UserControl包

我使用下面的代码创建了4个相同的用户控件

 vari = 0;
 for(int a =0;a<=3;a++)
 {
    i = i + 100;
    var control = new XtraUserControl1();
    control.Location = new Point(0, i);
    this.Controls.Add(control);
 }
vari=0;

对于(int a=0;a如果
XtraUserControl1
是一个
UserControl
包含文本框
textBox1
,则可以通过属性公开此文本框的文本。在UserControl的代码中,写入

public string Text1
{
    get { return textBox1.Text; }
    set { textBox1.Text = value; }
}
现在,您可以像这样访问它

var control = new XtraUserControl1();
control.Location = new Point(0, i);
control.Text1 = "some text";

但是为属性选择一个比我更好的名称,描述字段的用途,如
描述
名字
密码
等。尽管循环不是最优的,而且可以更好地解决,但这里有一个工作版本:

 var i = 0;
 for(int a =0;a<=3;a++)
 {
    i = i + 100;
    var control = new XtraUserControl1();
    control.Text = a == 1 ? "control 2 text" : "other controls text"
    control.Location = new Point(0, i);
    this.Controls.Add(control);
 }
var i=0;

对于(int a=0;a
如何更改示例文本框文本
什么文本框文本???这与标题有什么关系?如果
XtraUserControl1
是包含文本框的自定义用户控件,并且您希望能够从控件外部访问该文本框,则需要将该文本框作为公共属性公开。这是什么意思你遇到麻烦了吗?也许如果你发布了定义文本框的源代码,问题会更清楚。它只是一个单用户控件,里面有一个文本框
 var i = 0;
 for(int a =0;a<=3;a++)
 {
    i = i + 100;
    var control = new XtraUserControl1();
    switch (a)
    {
       case 1:
           control.Text = "control 2 text"
           break;
       default:
           control.Text = "other controls text"
           break;
       // you can add cases for other textboxes here 
    }
    control.Location = new Point(0, i);
    this.Controls.Add(control);
 }