码迷,mamicode.com
首页 > Windows程序 > 详细

事件与委托更新父窗体数据,简单比较

时间:2014-06-09 18:13:49      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:c   a   tar   ext   get   com   

1.委托更新父窗页面。

     例如,功能:父窗体A,子窗体B,由A打开B窗体,更新A窗体数据

      A窗体代码:

        public delegate void reflshPassenger();//声明委托

      
        private void btnAddPassenger_Click(object sender, EventArgs e)//打开B窗体按钮,并把委托窗体给B窗体
        {
            reflshPassenger reflshData = getPassengers;
            new FZ_Passengers("add", reflshData).ShowDialog();
        }

          private void getPassengers()

        {

              //...dosomething

         }

     B窗体代码:

      A.reflshPassenger reflshpassenger; //声明A窗体委托

      public FZ_Passengers(string _strState, formSubmitOrder.reflshPassenger _reflsh)
        {
            InitializeComponent();
            strState = _strState;
            reflshpassenger = _reflsh;//接受主窗体传递过来的委托
        }

       //最后在需要调用的位置,调用即可:

       if(reflshpassenger!=null)

       {

        reflshpassenger()

       }

 

 

 

2.基于事件:

  窗体A代码:

  B b;

  注册事件:

        B= new Frm_B();
          
            B.eventLookUp += new EventHandler(frm_ValueChanged);//注册事件,要在ShowDialog之前实现
            B.ShowDialog();

  实现事件:

             if (B.strName != "")
            {
                this.lb_Sub.Text = frm.strName.Trim();
            }
            else
            {
                return;
            }

B窗体代码:

 事件声明:

                   public event EventHandler eventLookUp;
                   public string strName { get; set; }//声明字符串

                   //在具体的位置实现事件

                     if (eventLookUp != null)
                {
                    strName = dgv_DataSource.Rows[e.RowIndex].Cells["userName"].Value.ToString().Trim();
                    this.eventLookUp(sender, e);
                    this.Close();
                }

 

        总结,基于事件的实现方法,更简单,效率也高点,后期的维护性也高些!~

 

 

事件与委托更新父窗体数据,简单比较,布布扣,bubuko.com

事件与委托更新父窗体数据,简单比较

标签:c   a   tar   ext   get   com   

原文地址:http://www.cnblogs.com/it888/p/3777368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!