步骤1:在Form1上,布置一个TextBox(textBox1)和一个按钮(button1)
步骤2:在项目中添加一个窗体Form2。在Form2上布置一个Label(label1)。Form2的后台Form2.cs代码如下:
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
// 新编写一个构造函数
public Form2(string text) : this()
{
label1.Text = text;
}
}
}
步骤3:Form1的后台代码Form1.cs如下
using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 用我们自己编写的构造函数创建Form2,传入文本框text1.Text
Form2 f2 = new Form2(textBox1.Text);
f2.Show();
}
}
}
运行结果如下:
软糖来回答把。
C#和VB.net不一样,窗体是类,而不是唯一的对象,所以必须指向该Form才能引用其中的对象。
首先在Form2定义一个全局静态字段 存储当前窗体
public Form2 curForm2;
private void Form2_Load(object sender, EventArgs e) {
curForm2 = this;
}
然后在Form5中即可调用,注意,如果Form2从未启动,则会引发null错误。
curForm2.textbox
满意请采纳,谢谢。
直接去另一个form取值,Form2.Textbox1.text就可以了。