首先新建一個原始窗體,如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication11 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void tsSave_Click(object sender, EventArgs e) { if (rdb02.Checked) { FrmPwd f = new FrmPwd(); f.FormClosed += new FormClosedEventHandler(f_FormClosed); //事件通知 f.ShowDialog(); } else { test(); } } void test() { MessageBox.Show("test"); } void f_FormClosed(object sender, FormClosedEventArgs e) { if ((sender as FrmPwd).isPASS)//isPASS 為接收密碼輸入的那個窗體里面的定義的全局變量,sender 為觸發這個事件的參數 { test(); } else { MessageBox.Show("密碼錯誤"); } } } }
密碼接收的窗體:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication11 { public partial class FrmPwd : Form { public bool isPASS = false; //如果密碼正確,則賦值為true,默認為false public FrmPwd() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string strPwd = this.textBox1.Text.Trim(); if (strPwd == "12345") { isPASS = true; } this.Hide(); this.Close(); } } }
需要校驗密碼的情況如下:
不需要校驗密碼的情況如下,直接執行對應的函數: