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返回的结果。