[英]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);
}
如果我理解正確,則需要創建一個Costum表單,其中包含一個文本框和一個按鈕作為單獨的類,然后,您需要創建該類的實例並在其上調用.showDialog()方法,然后用戶可以只在對話框中輸入一些內容(例如MessageBox)。 之后,您將需要從班級獲得輸入的密碼,並確定密碼是否正確(我假設您只是想要一種“簡單”的保護,而不是加密的保護)。 我想到的最簡單的解決方案是將您的密碼傳遞給另一個類,然后在那里檢查您的密碼是否正確,然后返回一個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類的代碼:
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;
}
}
}
我將讓您完成擴展工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.