在form_Load事件中进行某些判断,通不过则不加载窗体。能否做到?
请教:要求在form_Load事件中进行某些判断,通不过则不加载窗体。请问能否做到?(由于某些条件限制,不能在窗体frmOrder.Show()之前进行判断)
代码:
private void frmOrder_Load(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
try
{
……
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
this.Close(); //这句不可行,出错。怎么改?
}
finally
{
this.Cursor = Cursors.Default;
}
}
------解决方案--------------------对于 MainForm 的加载控制
最好在 Program.cs 里 new MainForm 之前做判断
------解决方案--------------------自己写一个public方法,比如ShowME
在里面判断,不过则不加载窗体
调用frmOrder.ShowME()
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------你不能在Load事件里关闭本窗体!
你最好把这个操作放到构造对象之前,就是如果条件不成立就不New这个窗体.
你可以把条件拿出来做为公用的部分来判断,而不要放到窗体的Load事件里.
------解决方案--------------------最好自己写一个重写show方法,测试通过就base.show,否则就...
------解决方案--------------------load事件中不能够去写关闭代码很多WinForm类的语言都是这样的。
还是应该将判断写在show方法之前。
------解决方案--------------------最好的方法是将判断放到构造对象之前...
如果你没有更改,默认应该是在program.cs中..
类似这样..
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (满足条件)
{
Application.Run(new Form1());