C#窗体间信息的双向传送(四)静态方法

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

 主从窗体利用静态方法相互传递数值

从窗体利用静态方法主动通知主窗体(这种方法本质上是定义了一个“全局”的字段和方法)。类的静态成员在整个“应用程序域”内都是共享的,在多线程环境下如果多个线程需要同时访问它们,则必须注意“线程同步”问题,但这些问题在单线程程序中不存在。

         1.主窗口->从窗口:主窗体调用从窗体的__Show静态方法

public partial class frmMain : Form
{
private frmOther m_frmOther = null;
private void m_btn_ShowForm_Click(object sender, EventArgs e)
{
    m_frmOther = new frmOther();
    m_frmOther.Show();
}

private void m_hScrollBar_Scroll(object sender, ScrollEventArgs e)
{
    frmOther.__Show(m_hScrollBar.Value);
}
        
public static void __Display(int num)    
{
    m_txt_Num.Text = num.ToString();
}
}

         控件m_txt_Num属性也要改为静态类型,同时需要将对象引用改为类引用。

private static System.Windows.Forms.TextBox m_txt_Num;
frmMain.m_txt_Num = new System.Windows.Forms.TextBox();

        2.从窗口->主窗口:从窗体调用主窗体的__Display静态方法

public partial class frmOther : Form
{
private int m_nCounter = 0;
public static void __Show(int num)    
{
    m_txt_Result.Text = num.ToString();
}

private void m_btn_Counter_Click(object sender, EventArgs e)
{
    m_nCounter++;
    frmMain.__Display(m_nCounter);
}
}

        控件m_txt_Result属性也要改为静态类型,同时需要将对象引用改为类引用。

private static System.Windows.Forms.TextBox m_txt_Result;
frmOther.m_txt_Result = new System.Windows.Forms.TextBox();

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

猜你喜欢

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