发布网友 发布时间:2024-10-24 15:26
共2个回答
热心网友 时间:2024-10-31 04:18
因为不在同一个实例中.也没关联起来.
最简单的解决方案就是定义为全局.
例如:
private Form fm1;
private Button button;
private TextBox tbd;
private void button1_Click(object sender, EventArgs e)
{
fm1 = new Form();
fm1.StartPosition = FormStartPosition.CenterScreen;
fm1.Size = new System.Drawing.Size(400, 160);
fm1.Text = "测试";
button = new Button();
button.Name = "button";
button.Text = "登陆";
button.Location = new Point(10, 10);
button.Size = new Size(24, 57);
button.Click += button_Click;
tbd = new TextBox();
tbd.Name = "TextBox";
tbd.Text = "测试文本";
tbd.Location = new Point(50, 10);
tbd.Size = new Size(24, 57);
fm1.Controls.Add(tbd);
fm1.Controls.Add(button);
fm1.Show();
}
void button_Click(object sender, EventArgs e)
{
string AA = tbd.Text;
}
当然还有别的方法.例如反射.
不知道需求.这只提供一个简单的解决方案.仅供产考.
热心网友 时间:2024-10-31 04:16
没看懂你这个要表达啥意思,若是简单的访问,有几种方法:
最简单是若是自己创建的Form,是可以访问它上面的元素的,直接用文本框的Name.Text就行了
第一种,通过当前按钮查找父元素种Name为"TextBox"你定义Name的文本框;
再则,建议C#起名字有自己的规则,初学时要注意习惯