比如:Form2获取Form1 的label的值
因为默认的窗体的所有控件属性和方法都是private,
Form1 form1 = new Form1(); 这样也是获取不到的
方法一、最简单的
将Form1里将要获取的控件属性Modifiers设置为public
Form2里获取Form1的label1的值:
string s = ""; Form1 form1 = new Form1(); s= form1.label1.Text;
这样就可以获取到Form1的label1的值
方法二、构造函数法:
Form2要获取Form1的值
(1)Form2中添加带参构造函数,用于接收Form1传过来的值
int value1; string value2; public Zjdy(int value1,string value2) { InitializeComponent(); this.value1 = value1; this.value2 = value2; }
(2)Form1中,实例化Form2,传给Form2,Show一下看看传的值
Form2 form2=new Form2("222"); form2.Show();
方法三、比如,保存登录用户名供其他页面调用
步骤:
(1)项目自带的Program.cs,类方法里定义登录的用户名为全局变量loginid,这样整个项目都可以调用它
static class Program
{
public static string loginid = "";
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
}
}
(2)在登录窗体的登录按钮事件里,将登录框输入的用户名保存到上面的全局变量,ok
Program.loginid = this.username.Text;
(3)当在其他窗体调用登录的用户名时,只需
string loginid = Program.loginid;