如果我有你的權利,你需要創建具有文本框和按鈕作爲一個單獨的類costum形式,那麼,你需要創建一個類的實例,並調用.showDialog()方法,那麼用戶只能在對話框中輸入一些東西(如MessageBox)。之後,您將需要從班級獲取輸入的密碼,並在密碼正確的情況下撤消(我假設您只需要一個「簡單」保護,而不是加密密碼)。 我想到的最簡單的解決方案是將您的密碼傳遞給其他課程,然後檢查密碼是否正確,並返回您需要忽略的DialogResult。 Somethig像這樣(爲你的方法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;
}
}
}
我會讓你做擴展這方面的工作。
@Sharabeel你可能不想檢查這兩個密碼是否直接匹配,但是如果他們的散列(例如md5)匹配,但那是一個更高級的主題。 – 97hilfel