我希望能够在我的应用程序中使用两种不同的表单。一个用户和一个用于生产,其中设置等可以改变。我知道我可以使用密码,按下按钮将打开第一个表格。
private void settingsButton_Click(Object sender, EventArgs e)
{
Form2 settingsForm = new Form2();
settingsForm.Show();
}
这意味着每次进入生产模式时都必须输入密码,由于不便,我不想要这样做。他们的任何其他方法是这样做的吗?有人向我提到使用.ini文件,但我没有这方面的经验。
这就是我所做的工作,但是当我关闭生产形式并尝试再次打开时,没有任何事情发生。
private void btnLogin_Click(object sender, EventArgs e)
{
if (Production.LOGGED == false)
{
MyEnterPassword = new EnterPassword("Please Enter Password to edit settings", "Edit Settings", "********");
Application.DoEvents();
if (MyEnterPassword.ShowDialog() == DialogResult.OK)
{
Production newProdForm = new Production();
newProdForm.Show();
}
Production.LOGGED = true;
}
}
我有public static bool LOGGED = false;在生产表格中声明
答案 0 :(得分:1)
在您的登录表单中声明一个名为LOGGED的变量,该变量将以如下方式打开:
public static bool LOGGED=false;
并将您的FOrmLoad代码更改为:
private void settingsButton_Click(Object sender, EventArgs e)
{
if(Form2.LOGGED==false){
Form2 settingsForm = new Form2();
settingsForm.Show();
}
}
PS:登录后将其值更改为true
答案 1 :(得分:0)
在主程序中,您需要存储用户是否已输入密码。
在主窗体顶部定义一个布尔值bool RequirePassword = true
然后当用户要求打开serttings窗体时
private void settingsButton_Click(Object sender, EventArgs e)
{
if(requirePassword)
{
//Request Password from user
// When the password comes back from the form, check if it is valid
// If it is, RequirePassword = false;
// else post and error and return
}
Form2 settingsForm = new Form2();
settingsForm.Show();
}
答案 2 :(得分:0)
您可以在表单1中保存密码,并在2表单上创建公共字符串密码并发送密码
private void settingsButton_Click(Object sender, EventArgs e)
{
Form2 settingsForm = new Form2();
settingsForm.Password = Form1PasswordString;
settingsForm.Show();
}
在表格2上你需要 public string Password;