C# 如何取消表格加载?
如何编写创建代码的应用程序。我想,如果一个用户打开了应用程序,而另一个用户不可以使用该应用程序,则可以获得一个带有使用该应用程序的用户名的C# 如何取消表格加载?,c#,xcode,forms,stream,messagebox,C#,Xcode,Forms,Stream,Messagebox,如何编写创建代码的应用程序。我想,如果一个用户打开了应用程序,而另一个用户不可以使用该应用程序,则可以获得一个带有使用该应用程序的用户名的MessageBox。为此,我使用了一个带有try-catch的Form\u-Load事件,它可以正常工作。第二个用户获得一条消息,其中包含另一个用户的名称,但表单在此之后打开。我希望此邮件后表单不会打开 我的代码: private void Form1_Load(object sender, EventArgs e) { try {
MessageBox
。为此,我使用了一个带有try-catch的Form\u-Load
事件,它可以正常工作。第二个用户获得一条消息,其中包含另一个用户的名称,但表单在此之后打开。我希望此邮件后表单不会打开
我的代码:
private void Form1_Load(object sender, EventArgs e)
{
try
{
var stream = File.Open("lock", FileMode.OpenOrCreate,FileAccess.Read);
global_stream = stream;
string username = User.GetUsername();
string machine = Computer.GetMachineName();
TextDatei datei = new TextFile();
datei.WriteFile("user_log", "Username: " + username + " Invoicennumber: "
+ machine);
CreateCode();
}
catch (Exception)
{
TextFile file = new TextFile();
string info = datei.ReadFile("user_log");
MessageBox.Show(info);
Application.Exit();
}
}
我会使表单本身的加载有条件,而不是取消它:
try
{
// Do your validation stuff here...
// The form will only show if the validation didn't throw.
Application.Run(new Form1());
}
catch (Exception)
{
TextFile file = new TextFile();
string info = datei.ReadFile("user_log");
MessageBox.Show(info);
}
这会更有效,因为表单的加载会被完全跳过。我不会对您正在做的事情发表评论
…但关闭表单很简单:
private void Form1_Load(object sender, EventArgs e)
{
Boolean someCondition = true; //whatever check you're doing
if (someCondition)
{
MessageBox.Show("Some Condition Met");
this.Close();
}
else
{
this.InitialiseTheFormEtc();
}
}
有一个建议,您可以在Init()本身执行必要的加载,然后在那里关闭表单本身,而不是Load()。这是最好的办法
this.Close();