对象间信息交换
对象间信息协作和交换分为以下几种场景:主窗体向从窗体传递消息、从窗体向主窗体传递消息、主窗体向多个子窗体广播消息、利用委托(Delegate)广播消息和利用事件(Event)广播消息。
文中所列代码只讲关键步骤,如有需要的朋友可直接到我的优快云资源下载面下载下载地址。
下面一一分别介绍。
主窗体向从窗体传递消息
主窗体向从窗体传递消息有两种方法,一种是从窗体使用公有属性接收消息;另一种是从窗体使用公有方法接收消息。这两种方法很相似,所以不分开讲。
最终的效果图如下,在主窗体中输入消息并点击“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; }
443



被折叠的 条评论
为什么被折叠?



