版权声明:本文为博主原创文章,转载请注明出处: 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.在主窗体中单击“创建从窗口”按键,生成一个从窗体,移动主窗体的滚动条,从窗体显示相应结果。单击从窗体的“计数”按钮,主窗体显示按键次数。