比如: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;

 

 posted on 2016-10-26 09:54  布鲁布鲁sky  阅读(4567)  评论(2)    收藏  举报