Visual WebGUI - 如何将Dialog的结果传回主窗体

在用WebGUI开发过程中,发现无法得到弹出窗体(Dialog)要返回的值,因此就到处搜索了一番,结果在WebGUI的网站找到了这个视频 How to return parameters from dialogs? 。里面分有几个步骤:

1、先在Dialog中设置一个Boolean变量 IsCompleted ,其实最好用公开的属性(Public Property)啦!然后,根据需要返回的结果,来设置其他的属性。如:

        #region Properties
        private bool isCompleted = false;
        public bool IsCompleted
        {
            get
            {
                return isCompleted;
            }
            set
            {
                isCompleted = value;
            }
        }

        private Guid productId = System.Guid.Empty;
        public Guid ProductId
        {
            get
            {
                return productId;
            }
            set
            {
                productId = value;
            }
        }
        #endregion

 

2、然后,在准备关闭Dialog返回主窗时,在按钮事件或者其他事件中设置属性的值。如:

this.IsCompleted = true;
this.ProductId = new Guid(txtProductId.Text);
this.Close();

3、接着,挺重要的,就是在弹出Dialog时,设置关闭它后的事件。就是Closed事件。如:

        FrmFindProd objFindProd = new FrmFindProd();
        objFindProd.Closed += new EventHandler(objFindProd_Closed);
        objFindProd.ShowDialog();
 
        void objFindProd_Closed(object sender, EventArgs e)
        {
            FrmFindProd objFindProd = sender as FrmFindProd;
            if (objFindProd.IsCompleted)
            {
                this.ProductId = objFindProd.ProductId;
            }
        }

 

就这样。在关闭Dialog后,将会获得从Dialod返回的结果。Smile

posted @ 2008-01-13 17:15 David Views(...) Comments(...) Edit 收藏
Freelance Jobs