1. 程式人生 > >C#中容器控制元件GroupBox、Panel、TabControl

C#中容器控制元件GroupBox、Panel、TabControl

實現如圖所示登入介面,當輸入正確使用者名稱及密碼時,轉到主介面,否則給出錯誤提示。要求不同身份的登陸者擁有不同的操作許可權。

          

原始碼:

1.初始化三個string型別的變數分別用來儲存使用者名稱、密碼和身份。

[csharp] view plain copy print?
  1. string yhm, mm, sf;  

[csharp] view plain copy print?
  1. privatevoid Form1_Load(object sender, EventArgs e)  
  2.         {  
  3.             yhm=mm=""
    ;  
  4.             sf=radioButton1.Text;  
  5.         }  
private void Form1_Load(object sender, EventArgs e)
        {
            yhm=mm="";
            sf=radioButton1.Text;
        }

2.為三個單選按鈕新增CheckedChanged事件處理程式

1>學生:

[csharp] view plain copy print?
  1. privatevoid radioButton1_CheckedChanged(
    object sender, EventArgs e)  
  2.         {  
  3.             if(radioButton1.Checked)  
  4.             {  
  5.                 sf=radioButton1.Text;  
  6.                 checkBox1.Checked = true;  
  7.                 checkBox2.Checked=checkBox3.Checked=checkBox4.Checked=checkBox5.Checked=false;  
  8.             }  
  9.         }  
private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if(radioButton1.Checked)
            {
                sf=radioButton1.Text;
                checkBox1.Checked = true;
                checkBox2.Checked=checkBox3.Checked=checkBox4.Checked=checkBox5.Checked=false;
            }
        
        }

2>教師: [csharp] view plain copy print?
  1. privatevoid radioButton2_CheckedChanged(object sender, EventArgs e)  
  2.        {  
  3.            if (radioButton2.Checked)  
  4.            {  
  5.                sf = radioButton2.Text;  
  6.                checkBox1.Checked=checkBox2.Checked = true;  
  7.                checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = false;  
  8.            }  
  9.        }  
 private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                sf = radioButton2.Text;
                checkBox1.Checked=checkBox2.Checked = true;
                checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = false;
            }
        
        }


3>管理員:

[csharp] view plain copy print?
  1. privatevoid radioButton3_CheckedChanged(object sender, EventArgs e)  
  2.         {  
  3.             if (radioButton3.Checked)  
  4.             {  
  5.                 sf = radioButton3.Text;  
  6.                 checkBox1.Checked = checkBox2.Checked = checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = true;  
  7.             }  
  8.         }  
private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton3.Checked)
            {
                sf = radioButton3.Text;
                checkBox1.Checked = checkBox2.Checked = checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = true;
            }
        
        }

3.為四個Button按鈕新增Click事件:

1>確定:

[csharp] view plain copy print?
  1. privatevoid button1_Click(object sender, EventArgs e)  
  2.        {  
  3.            yhm = textBox1.Text.Trim();  
  4.            mm = textBox2.Text.Trim();  
  5.            if (yhm == "xs" && mm == "xs" && sf == "學生")  
  6.            {  
  7.                tabControl1.SelectedTab = tabPage2;  
  8.                panel2.Visible = true;  
  9.                button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = false;  
  10.                panel1.Visible = false;  
  11.            }  
  12.            elseif (yhm == "js" && mm == "js" && sf == "教師")  
  13.            {  
  14.                tabControl1.SelectedTab = tabPage2;  
  15.                panel2.Visible = true;  
  16.                button3.Enabled=button4.Enabled = true;  
  17.                button5.Enabled = button6.Enabled = button7.Enabled = false;  
  18.                panel1.Visible = false;  
  19.            }  
  20.            elseif (yhm == "gly" && mm == "gly" && sf == "管理員")  
  21.            {  
  22.                tabControl1.SelectedTab = tabPage2;  
  23.                panel2.Visible = true;  
  24.                button3.Enabled=button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = true;  
  25.                panel1.Visible = false;  
  26.            }  
  27.            else
  28.                MessageBox.Show("使用者名稱或密碼錯誤","登入失敗");  
  29.        }  
 private void button1_Click(object sender, EventArgs e)
        {
            yhm = textBox1.Text.Trim();
            mm = textBox2.Text.Trim();
            if (yhm == "xs" && mm == "xs" && sf == "學生")
            {
                tabControl1.SelectedTab = tabPage2;
                panel2.Visible = true;
                button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = false;
                panel1.Visible = false;
            }


            else if (yhm == "js" && mm == "js" && sf == "教師")
            {
                tabControl1.SelectedTab = tabPage2;
                panel2.Visible = true;
                button3.Enabled=button4.Enabled = true;
                button5.Enabled = button6.Enabled = button7.Enabled = false;
                panel1.Visible = false;
            }

            else if (yhm == "gly" && mm == "gly" && sf == "管理員")
            {
                tabControl1.SelectedTab = tabPage2;
                panel2.Visible = true;
                button3.Enabled=button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = true;
                panel1.Visible = false;
            }

            else
                MessageBox.Show("使用者名稱或密碼錯誤","登入失敗");
        }


2>取消:

[csharp] view plain copy print?
  1. privatevoid button2_Click(object sender, EventArgs e)  
  2.         {  
  3.             this.Close();  
  4.         }  
private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }


3>登出登入:

[csharp] view plain copy print?
  1. privatevoid button8_Click(object sender, EventArgs e)  
  2.         {  
  3.             panel1.Visible = true;  
  4.             panel2.Visible = false;  
  5.             textBox1.Text = textBox2.Text = "";  
  6.             radioButton1.Checked = true;  
  7.             tabControl1.SelectedTab = tabPage1;  
  8.         }  
private void button8_Click(object sender, EventArgs e)
        {
            panel1.Visible = true;
            panel2.Visible = false;
            textBox1.Text = textBox2.Text = "";
            radioButton1.Checked = true;
            tabControl1.SelectedTab = tabPage1;
        }


4>退出系統:

[csharp] view plain copy print?
  1. privatevoid button9_Click(object sender, EventArgs e)  
  2.         {  
  3.             Application.Exit();  
  4.         }      
private void button9_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }    

執行結果展示圖: