C#窗体间信息的双向传送(一)引用方式

版权声明:本文为博主原创文章,转载请注明出处: https://blog.csdn.net/IntegralforLove/article/details/83019270

C#窗体间信息的双向传送(一)引用方式

要实现主从窗体对象信息的相互传送,这两个对象间必须建立一个双向的关联,即每个都拥有对方的引用。具体来说,就是主窗体拥有一个私有字段引用从窗体,从窗体也有一个私有字段引用主窗体。

    1.主窗口->从窗口:主窗体用一个私有字段保存对从窗体对象的引用,调用从窗体的公有方法(或者对从窗体公有属性赋值),可以将特定信息从主窗体传给从窗体。主窗体frmMain代码如下:

private frmOther m_frmOhter = null;
private void m_btn_ShowForm_Click(object sender, EventArgs e)
{
    m_frmOhter = new frmOther(this);
    m_frmOhter.Show();      
}

private void m_hScrollBar_Scroll(object sender, ScrollEventArgs e)
{
    m_frmOhter.__Show(m_hScrollBar.Value);  //调用从窗体的公有方法
}

public void __Display(int num)          //主窗体的公有方法
{
    m_txt_Num.Text = num.ToString();
}

     2.从窗口->主窗口:主窗体将自身引用传递给从窗体对象,这样,从窗体内部就可以自由地使用m_frmMain字段访问主窗体所定义的所有公有成员。从窗体frmOther代码如下:

private frmMain m_frmMain = null;    //从窗体中定义了一个用于引用主窗体对象的字段
private int m_nCounter = 0;

public frmOther(frmMain objForm1)
{
    InitializeComponent();
    m_frmMain = objForm1;      //获取主窗体的对象引用
}

public void __Show(int num)     //从窗体的公有方法
{
    m_txt_Result.Text = num.ToString();
}

private void m_btn_Counter_Click(object sender, EventArgs e)
{
    m_nCounter++;
    m_frmMain.__Display(m_nCounter);   //调用主窗体的公有方法
}

     3.在主窗体中单击“创建从窗口”按键,生成一个从窗体,移动主窗体的滚动条,从窗体显示相应结果。单击从窗体的“计数”按钮,主窗体获取按键次数。

 

猜你喜欢

转载自blog.csdn.net/IntegralforLove/article/details/83019270