Winform學(xué)生信息管理系統(tǒng)主頁面設(shè)計(jì)(2)
在上次的學(xué)生登錄窗口的設(shè)計(jì)(Winform學(xué)生信息管理系統(tǒng)登陸窗體設(shè)計(jì)(1) )中,需要修改的地方為:
1、登錄窗口的最大化和最小化,這個一般的登錄窗口不需要,因此我們也不做,單擊學(xué)生信息管理系統(tǒng)的窗體設(shè)計(jì)找到屬性MaximizeBox和屬性(窗口的最大化)和MinimizBox(窗口的最小化)是True,把它們改為False。
2、登錄窗口設(shè)計(jì)的屬性AcceptButton將其改為確定按鈕的唯一名字(也就是button1),因此在按下回車鍵后我們也能登錄到學(xué)生信息管理系統(tǒng)主頁面。
3、在登錄名稱后的textBox1控件需要輸入登錄者的名字admin,而登錄密碼后的textBox2控件需要輸入登陸者的秘密123456,因?yàn)樵诳丶傩栽O(shè)置時(shí)將其密碼隱藏為*,因此我們并不能看見。
要想進(jìn)入到學(xué)生信息管理系統(tǒng)主頁面還需要在這個Windowsforms下再添加一個窗體,右擊Windowsforms,選擇添加,選擇Windows窗體,進(jìn)入到添加新項(xiàng)的對話框,名字保持不變?yōu)閒orm2,最后單擊添加即可。在這里我們需要做的東西很多:
1、將窗體的Text屬性改為學(xué)生信息管理系統(tǒng),再將屬性WindowState改為Maximized(第一次出現(xiàn)使其最大化),最后還需要將屬性IsMdiContainer(將主頁面的窗體覆蓋到登錄窗之上)改為True。
2、需要向窗體上添加控件菜單欄,在控件中我們選擇MenuStrip控件,依次添加想要構(gòu)建的主菜單項(xiàng),學(xué)生管理系統(tǒng)的設(shè)計(jì)者或管理員對所有的模塊都是可用的,若是學(xué)生或教師則對有些模塊不可用,我們這個以后再進(jìn)行,在這里我們就是作為管理員或設(shè)計(jì)者來設(shè)計(jì)這個系統(tǒng)的,因此對所有的模塊可見,需要添加的菜單項(xiàng)為:系統(tǒng)管理,成績管理,課程管理,班級管理,學(xué)生管理,專業(yè)管理,教師管理,此外還需要其它的一些菜單項(xiàng),比如窗體,幫助,退出。
3、在窗體上還需要添加StatusStrip控件,這個控件的作用是狀態(tài)欄,將狀態(tài)欄的屬性Name改為tssl_name。
4、在窗體上再添加一個工具欄,就是添加ToolStrip控件,這個工具欄放在菜單欄的下面,在工具欄中添加一個Button控件,單擊它會出現(xiàn)一個新的子窗體對話框,這個子窗體我們稍后下一步添加。
5、進(jìn)行子窗體的添加,就像添加主頁面窗體一樣再次添加一個名為Children窗體,這個子窗體我們先不做任何的改動,單單就是為了打開它,進(jìn)行必要的說明。
6、在主頁面的窗體的菜單欄的退出,我奧們單擊它需要退出整個程序,這就需要添加Click事件,我們右擊窗體打開代碼,回到主頁面窗體中點(diǎn)擊退出,找到Click事件,雙擊后面的空白處返回到代碼編譯寫入:
<span style="font-size:18px;"> private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit();//單擊主菜單中的退出我們退出整個程序 }</span>
7、在添加的工具欄的Button控件,我們單擊它會出現(xiàn)名為Children的子窗體,由于主頁面是MDI窗體,因此重復(fù)單擊它出現(xiàn)很多名為Children的子窗體,依然是如上上一步驟的那樣添加Click事件,寫入的代碼為:
<span style="font-size:18px;"> private void toolStripButton1_Click(object sender, EventArgs e) { Children qq = new Children();//創(chuàng)建一個子窗體的實(shí)例 qq.MdiParent = this;//要求子窗體的父窗體是MDI窗體 qq.Show(); }</span>
這樣基本上主頁面窗體就算是設(shè)計(jì)完畢。
下面進(jìn)行的是連接登錄窗體和主頁面窗體:
1、輸入你所寫的信息后單擊登錄窗口的確定按鈕后進(jìn)入主頁面窗體,這就需要在登錄窗體的確定按鈕(button1)添加Click事件,此外還需要獲取在textBox1中輸入的信息,寫入的代碼為:
<span style="font-size:18px;"> private void button1_Click(object sender, EventArgs e) { string str = textBox1.Text;//獲取你在textBox1中輸入的信息 Form2 ad = new Form2(str);//創(chuàng)建一個學(xué)生信息管理系統(tǒng)主界面的對象 ad.Show();//點(diǎn)擊確定后進(jìn)入學(xué)生信息管理系統(tǒng)主界面 }</span>
2、單擊登錄窗口中的取消按鈕(button2)退出整個程序。也是添加Click事件,寫入代碼為:
<span style="font-size:18px;"> private void button2_Click(object sender, EventArgs e) { Application.Exit();//點(diǎn)擊取消退出整個程序 }</span>
3、我們所在主頁面中添加的狀態(tài)欄所顯示的信息如要為我們在登錄窗口輸入的信息那么就需要在主頁面的窗體中的構(gòu)造函數(shù)做一些修改,將無參數(shù)的構(gòu)造函數(shù)改為帶一個字符串類型參數(shù)的構(gòu)造函數(shù),將參數(shù)傳遞給狀態(tài)欄的屬性Text,寫入的代碼為:
<span style="font-size:18px;"> public Form2(string s) { InitializeComponent(); tssl_name.Text = s; }</span>
4、我們在打開主頁面窗體有時(shí)候需要隱藏登錄窗體,這就需要在單擊確定按鈕后隱藏登錄窗體,在第一個步驟的代碼中添加 this.Hide()語句。因此步驟一完整的代碼為:
<span style="font-size:18px;"> private void button1_Click(object sender, EventArgs e) { string str = textBox1.Text;//獲取你在textBox1中輸入的信息 Form2 ad = new Form2(str);//創(chuàng)建一個學(xué)生信息管理系統(tǒng)主界面的對象 ad.Show();//點(diǎn)擊確定后進(jìn)入學(xué)生信息管理系統(tǒng)主界面 this.Hide();//單擊確定后隱藏登錄窗口 }</span>
在這里說明一個問題,就是在單擊主頁面的右上方的X按鈕時(shí)并沒有退出整個程序,因?yàn)槭请[藏了登錄窗口,如果退出整個程序,需要點(diǎn)擊主頁面的自己設(shè)置的退出,這才是退出整個程序。
執(zhí)行調(diào)試,進(jìn)行錯誤的修改和處理,完整的Form1(登錄窗體)代碼為:
<span style="font-size:18px;">namespace WindowsForms { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string str = textBox1.Text;//獲取你在textBox1中輸入的信息 Form2 ad = new Form2(str);//創(chuàng)建一個學(xué)生信息管理系統(tǒng)主界面的對象 ad.Show();//點(diǎn)擊確定后進(jìn)入學(xué)生信息管理系統(tǒng)主界面 this.Hide();//單擊確定后隱藏登錄窗口 } private void button2_Click(object sender, EventArgs e) { Application.Exit();//點(diǎn)擊取消退出整個程序 } } }</span>
完整的主頁面窗體的代碼為:
<span style="font-size:18px;">namespace WindowsForms { public partial class Form2 : Form { public Form2(string s) { InitializeComponent(); tssl_name.Text = s;//將登陸窗口textBox1輸入的信息傳遞給狀態(tài)欄Text屬性 } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit();//單擊主菜單中的退出我們退出整個程序 } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void toolStripButton1_Click(object sender, EventArgs e) { Children qq = new Children();//創(chuàng)建一個子窗體的實(shí)例 qq.MdiParent = this;//要求子窗體的父窗體是MDI窗體 qq.Show(); } } }</span>
可以找出你保存程序的位置打開你所構(gòu)建的程序:運(yùn)行一下試試,對比一下和自己想的有什么區(qū)別,再進(jìn)行修改。
以上基本就是學(xué)生信息管理系統(tǒng)主頁面的構(gòu)建,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
selenium.chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請求功能
Selenium?WebDriver?是一組開源?API,用于自動測試?Web?應(yīng)用程序,利用它可以通過代碼來控制chrome瀏覽器,今天通過本文給大家介紹selenium?chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請求功能,感興趣的朋友一起看看吧2022-07-07C# 使用Microsoft Edge WebView2的相關(guān)總結(jié)
這篇文章主要介紹了C# 使用Microsoft Edge WebView2的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-02-02淺談C#跨線程調(diào)用窗體控件(比如TextBox)引發(fā)的線程安全問題
下面小編就為大家分享一篇淺談C#跨線程調(diào)用窗體控件(比如TextBox)引發(fā)的線程安全問題,具有很好的參考價(jià)值,希望對大家有所幫助2017-11-11