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;在生产表单中声明
在您的登录表单中声明一个名为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();
}
在中二,你需要公共字符串密码;