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

C#对象间的协作和信息交换(二)主窗体向从窗体传递消息

2016-09-11 18:04 316 查看

对象间信息交换

  对象间信息协作和交换分为以下几种场景:主窗体向从窗体传递消息、从窗体向主窗体传递消息、主窗体向多个子窗体广播消息、利用委托(Delegate)广播消息和利用事件(Event)广播消息。

  文中所列代码只讲关键步骤,如有需要的朋友可直接到我的CSDN资源下载面下载下载地址

  下面一一分别介绍。

主窗体向从窗体传递消息

  主窗体向从窗体传递消息有两种方法,一种是从窗体使用公有属性接收消息;另一种是从窗体使用公有方法接收消息。这两种方法很相似,所以不分开讲。

  最终的效果图如下,在主窗体中输入消息并点击“Send”按钮,消息发送到从窗体中。

  


  下面看下编程实现,代码项目:MainToOther。

主窗体Load时创建一个从窗体对象

private frmOther otherForm;

private void frmMain_Load(object sender, EventArgs e)
{
otherForm = new frmOther();
otherForm.Show();
}


为Send按钮的Click事件增加函数

private void btnSend_Click(object sender, EventArgs e)
{
SendMessageViaPublicProperty();//使用从窗口公共属性的方法。
//SendMessageViaPublicMethod();//使用从窗口公共函数的方法。
}


从窗体公有属性和公有方法的实现

如何使用公有属性,那么主窗体中调用SendMessageViaPublicProperty()函数

public void SendMessageViaPublicProperty()
{
string inputText = txtInput.Text.Trim();

otherForm.Info = inputText;//info是从窗体的公有属性
}


如果使用公共函数,那么主窗体中调用SendMessageViaPublicMethod()函数

public void SendMessageViaPublicMethod()
{
string inputText = txtInput.Text.Trim();

otherForm.ReceiveMessage(inputText);//调用从窗体的公有方法
}


从窗体

//使用公有属性接收信息
public string Info
{
set
{
labReceive.Text = value;
}
}

//使用公有方法接收信息
public void ReceiveMessage(string Message)
{
labReceive.Text = Message;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: