C#第一个中的第二个形式

本文关键字:第二个 第一个 | 更新日期: 2023-09-27 18:25:43

我希望在我的应用程序中有两种不同的表单。一个用于用户,一个用于可以更改设置等的生产。我知道我可以使用密码,当按下按钮时,将从第一个表单中打开第二个表单。

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;
        }
    }

并且我有公共静态布尔LOGGED=false;在生产表单中声明

C#第一个中的第二个形式

在您的登录表单中声明一个名为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

在主程序中,您需要存储用户是否已经输入了密码。

在主表单bool RequirePassword = true的顶部定义一个布尔值,然后当用户要求打开插入表单时

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

您可以将密码保存在表单1中,并在表单2上创建一个公共字符串密码,然后发送密码

private void settingsButton_Click(Object sender, EventArgs e) 
{
Form2 settingsForm = new Form2();
settingsForm.Password = Form1PasswordString;
settingsForm.Show();
}

在中二,你需要公共字符串密码;

相关文章: