Winform在一个窗体获取其他窗体的值

本文介绍了三种在不同窗体间传递数据的方法:修改控件访问权限、使用构造函数法及定义全局变量。这些方法适用于.NET框架下的Windows Forms应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值