我正在开发一个具有数百种表单的应用程序,并且表单中的表单以多种方式链接。
问题是我想对表单应用身份验证。
我所做的是从我的案例中继承所有形式的共同类“ AUTH ”
在Auth中,我做的是Override OnLoad方法,在这里检查是否满足某些条件,然后显示表单,然后隐藏它并显示其他表单。
我的代码是:
public class Auth : Telerik.WinControls.UI.RadForm
{
protected override void OnLoad(EventArgs e)
{
if (<Some Condition>)
{
base.Hide();
frmAccessDenied fs = new frmAccessDenied();
fs.Show();
base.OnLoad(e);
}
else
{
base.OnLoad(e);
}
}
}
在这种情况下发生的事情是打开frmAccessDenied但是应用程序崩溃说错误创建HANDLER
并指向我打开表单的位置,如
Form childForm = new frmMyFORM();
childForm.MdiParent = this;
**==>>>Crashed HERE** childForm.Show();
答案 0 :(得分:0)
您可以检查主程序文件中的条件。在Main方法中,您将具有以下内容:
public static void Main(string[] args) {
// Starts the application.
if (<Some Condition>)
{
Application.Run(new frmAccessDenied());
}
else Application.Run(new Form1());
}
答案 1 :(得分:0)
MDI Parent是错误。
Form childForm = new frmMyFORM();
childForm.MdiParent = this;
**==>>>Crashed HERE** childForm.Show();
如果我跳过代码
childForm.MdiParent = this;
然后开始工作。