如何编写创建代码的应用程序。我想如果用户打开应用程序,则其他用户无法使用该应用程序,并获得使用该应用程序的用户名MessageBox
。为此我使用try Form_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();
}
}
答案 0 :(得分:0)
我将表单的加载设置为有条件而不是取消它:
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);
}
由于完全跳过了表单的加载,因此效率更高。
答案 1 :(得分:0)
我不会评论你正在做什么 ...
...但要关闭表单很简单:
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();
}
}
答案 2 :(得分:0)
给你一个建议,你可以在Init()本身进行必要的加载,并在那里关闭表单而不是Load()。这是更好的方式。
this.Close();