c# winform两个窗口的传值问题


为了做毕设,只能自学c#,在学习和操作的途中,遇到很多困难是在所难免的。而这个两个页面传值的问题,昨天就困扰了我一个下午,虽然也看了很多其他人分享的方法,但还是没弄出来,到今天早上终于实现了我想要的效果,所以我觉得可以分享一下我的经验。我用了有两个方法是有效的。

方法一 设置一个全局静态变量

FormLogin 页面的uname 传给FrUserInfo 页面

***********************FormLogin ********************

public partial class FormLogin : Form
    {
        public static string uname = "";

        private void btnLogin_Click(object sender, EventArgs e)
        {
            //在textbox输入框获取用户信息
            string uName = textUser.Text.Trim();
            uname = uName;
        }
    }

**********************FrUserInfo *********************

public partial class FrUserInfo : Form
    {
        string Name = "";

        public FrUserInfo()
        {
            InitializeComponent();
            Name = FormLogin.uname;
        }
    }

方法二 用构造函数传值

从FrUserInfo 传密码给FrChangePwd页面

**********************FrUserInfo *********************

public partial class FrUserInfo : Form
    {
        public string pwd = "";

		private void changePwd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
        	//先获取当前页面的密码
        	pwd = textPwd.Text.Trim();
        	//通过参数传到FrChangePwd页面
            FrChangePwd frChangePwd = new FrChangePwd(pwd);
            frChangePwd.Show();
        }
    }

*********************FrChangePwd *******************

public partial class FrChangePwd : Form
    {
        string rightoldpwd = "";

        public FrChangePwd(string p)
        {
            InitializeComponent();
            this.rightoldpwd = p;
        }
    }

拓展一种情况

我从窗口FrUserInfo 传旧密码到窗口FrChangePwd 进行修改密码的比对,验证成功以后,又把窗口FrChangePwd 输入的新密码传回窗口FrUserInfo 进行保存,窗口FrUserInfo 还是原来那个不刷新

**********************FrUserInfo *********************

public partial class FrUserInfo : Form
    {
        public static string newpwd = "";

		//新写一个show方法,获取新密码
        public static void Show2(string str)
        {
            FrUserInfo frUserInfo = new FrUserInfo();
            newpwd = str;
        }
	}

*********************FrChangePwd *******************

public partial class FrChangePwd : Form
    {
        public static string newp = "";

        private void btnYes_Click(object sender, EventArgs e)
        {
        	//获取输入的新密码
            newp = textNewPwd.Text.Trim();
            //传给FrUserInfo页面
            FrUserInfo.Show2(newp);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值