我想从现有表单中打开一个新表单 - AdminForm。新表单要求输入密码,密码应转移到MainForm中的变量。
为此,我创建了一个类:
public class Decrypt
{
public static string AdminPass { get; set; }
}
我引用了AdminForm中的公共类,并在AdminPass变量中设置了一个值。
public Decrypt AdminPass { get; set; }
private void button1_Click(object sender, EventArgs e)
{
if (txtAdminPass.Text == "2017")
{
Decrypt.AdminPass = "yes";
this.Close();
}
else
{
MessageBox.Show("Incorrect. Try again.");
}
}
最后,我试图在我的MainForm中访问变量,如下所示:
private void btnDecrypt_Click(object sender, EventArgs e)
{
using (AdminForm openForm = new AdminForm() { AdminPass = new Decrypt() })
{
if (openForm.ShowDialog() == DialogResult.OK)
{
label23.Text = Decrypt.AdminPass;
}
}
}
编辑:变量到Decrypt.AdminPass;
然而。该变量似乎仅在AdminForm
中分配。因此,如果我在MessageBox.Show(Decrypt.AdminPass);
中AdminForm
string 'Yes'
,则MainForm
会被打印出来。但在label23.Text
中,<?xml version="1.0" encoding="utf-8"?>
保持不变。
我遇到错误的任何线索?
我知道这是一个基本问题,但我对C#很新。
答案 0 :(得分:1)
if (txtAdminPass.Text == "2017")
{
Decrypt.AdminPass = "yes";
//this.Close();
DialogResult = DialogResult.OK; // !!!
}
else ...