读书人

在form_Load事件中进行某些判断通不

发布时间: 2012-02-07 17:45:36 作者: rapoo

在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());


}
}
}

读书人网 >C#

热点推荐