如何密码保护文本框,以保护 winform c# 中的输入

how to password protect a textbox, to secure input in winform c#

所以我正在尝试使用密码保护添加到我的列表中的文本框。就像我在文本框中输入文本并弹出一个要求输入密码的窗口一样。那可能吗?下面我将插入代码片段。

private void button6_Click_1(object sender, EventArgs e)
        {

           BlockList.Add (textBox2.Text );              // adds url to block list


        }

        private void button7_Click_1(object sender, EventArgs e)
        {
            BlockList.Remove(textBox2.Text);
        }

如果我没看错,您需要创建一个包含文本框和按钮的服装表单作为单独 class,然后,您需要创建该表单的实例 class 和在其上调用 .showDialog() 方法,然后用户只能在对话框中输入内容(如 MessageBox)。之后,您需要从 class 获取输入的密码,并判断密码是否正确(我假设您只需要 "easy" 保护,而不是加密保护)。 我想到的最简单的解决方案是将您的密码传递给另一个 class,然后在那里检查您的密码是否正确,然后 return 一个您只需要退出的 DialogResult。 像这样的东西(对于你的方法 button_6_Click_1()):

const string password = "123456789";    //just an example password

            string url = textBox1.Text;

            // Get if the user entered the right password
            GetPass pass = new GetPass(password);

            // Check this with a dialog result
            DialogResult result = pass.ShowDialog();

            if (result == DialogResult.OK)
            {
                    BlockList.Add(url);
                    MessageBox.Show("Added " + url + " to blocklist.");
                    textBox1.Clear();

            }

这将是另一个 WinForm-class:

的代码
public partial class GetPass : Form
    {
        // Use a texBox called textBox1 and a button called btn_confirm
        private string refPassword;

        public GetPass(string password)
        {
            InitializeComponent();
            refPassword = password;
        }

        private void btn_confirm_Click(object sender, EventArgs e)
        {
            string password = textBox1.Text;
            if (password.CompareTo(refPassword) == 0)
            {
                this.DialogResult = DialogResult.OK;
            }
        }
    }

我会让你做扩展这个的工作。