窗体间传值

来源:互联网 发布:糊网络用语什么意思 编辑:程序博客网 时间:2024/06/04 19:28

大学毕业那会,做毕业设计,需要从数据库中读取用户名和密码,从登陆窗体传到主窗体中。我直接在构造函数中将用户名和密码作为参数。现在回想起来,如果多个窗体需要用到这个登陆用户的用户名和密码,可以使用静态类。这是前话,就提到这里吧。
现在问题来了,窗体A和B上都有一个textBox,当给A上的textBox输入值,点击A的Button,在窗体B上textBox需要显示这个值,如何去做。
1.直接
将窗体B的textBox可访问设置为public。在窗体A中直接给窗体B的textBox 赋值。
2.使用委托

 private void MainForm_Load(object sender, EventArgs e)        {            ChildForm childForm1 = new ChildForm();            ChildFormProp = childForm1;            //2.在窗体弹出之前,应该关注到委托            afterSendMsg += ChildFormProp.SetText;            ChildFormProp.Show();        }        private void btnSendMsg_Click(object sender, EventArgs e)        {            //1.委托传值            if (afterSendMsg ==null)            {                return;            }            afterSendMsg(this.txtMessage.Text);        }

3.使用事件

        private void MainForm_Load(object sender, EventArgs e)        {            ChildForm childForm1 = new ChildForm();            ChildFormProp = childForm1;            //2.在窗体弹出之前,应该关注到事件            afterMsgEvent += ChildFormProp.SetTextBox;            ChildFormProp.Show();        }        private void btnSendMsg_Click(object sender, EventArgs e)        {            //1.触发事件            if (afterMsgEvent == null)                return;            afterMsgEvent(this,new AfterMsgEventArgs(){Text = this.txtMessage.Text});        }

源码下载:窗体间传值

参考资料:1、百度提问:如何将登陆窗体的值传到主窗体中?
2.某培训机构视频

0 0
原创粉丝点击