您的位置:首页 > 编程语言 > C#

窗体间传值

2015-09-19 22:59 471 查看
大学毕业那会,做毕业设计,需要从数据库中读取用户名和密码,从登陆窗体传到主窗体中。我直接在构造函数中将用户名和密码作为参数。现在回想起来,如果多个窗体需要用到这个登陆用户的用户名和密码,可以使用静态类。这是前话,就提到这里吧。

现在问题来了,窗体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.某培训机构视频
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  窗体传值-C#