从0自学C#06–多窗体共用对象

上一篇介绍了通过委托事件的方式,实现了子窗体调用父窗体的控件。本文将用参数传递的方式,实现共用一个实体对象。

本文所用的代码,也是在上一篇基础上做修改。

1.父窗体

将共用实体对象innoBERT作为子窗体构造函数的参数。代码如下“修改此行”部分。

if (subFormPPGTx[i] == null || subFormPPGTx[i].IsDisposed)                    {                        subFormPPGTx[i] = new SubFormPPG(innoBERT, i);//修改此行                        subFormPPGTx[i].Text = formTitle;                        subFormPPGTx[i].Name = formName;                        //subFormPPGTx[i].Tag = i;                        subFormPPGTx[i].SendToParent += new SubFormPPG.SendFun(RecvInfo);                        subFormPPGTx[i].Show(this);                    }                    else                    {                        subFormPPGTx[i].WindowState = FormWindowState.Normal;                        subFormPPGTx[i].Activate();                    }

2.子窗体

首先定义一个类字段,然后修改子窗体的构造函数,添加参数,用于接收父窗体传递的实体对象。这样就可以在子窗体里,调用实体对象innoBERT。

InnolightBERT innolightBERT;bool formStatus = false;private int ID;public delegate void SendFun(int number);public event SendFun SendToParent;public SubFormPPG(InnolightBERT innoBERT, int ID){    InitializeComponent();    this.innolightBERT = innoBERT;//接收对象    this.ID = ID;}

3.应用

子窗体调用共用实体对象的属性。

private void SubFormPPG_Load(object sender, EventArgs e){    this.GetPPGSetting(this.ID);}private void GetPPGSetting(int channel){    try    {        switch (channel)        {            case 0:                this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx1_Swing;                break;            case 1:                this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx2_Swing;                break;            case 2:                this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx3_Swing;                break;            case 3:                this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx4_Swing;                break;             default:                 return;        }    }    catch (Exception ex)    {        MessageBox.Show(ex.Message);    }}

以上就是 从0自学C#06–多窗体共用对象的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:10:09
下一篇 2025年12月17日 06:10:23

相关推荐

发表回复

登录后才能评论
关注微信