Winform之學生資訊管理系統主頁面
在上次的學生登入視窗的設計中,需要修改的地方為;
1登入視窗的最大化和最小化,這個一般的登入視窗不需要,因此我們也不做,單擊學生資訊管理系統的窗體設計找到屬性MaximizeBox和屬性(視窗的最大化)和MinimizBox(視窗的最小化)是True,把它們改為False。
2登入視窗設計的屬性AcceptButton將其改為確定按鈕的唯一名字(也就是button1),因此在按下回車鍵後我們也能登入到學生資訊管理系統主頁面。
3在登入名稱後的textBox1控制元件需要輸入登入者的名字admin,而登入密碼後的textBox2控制元件需要輸入登陸者的祕密123456,因為在控制元件屬性設定時將其密碼隱藏為*,因此我們並不能看見。
要想進入到學生資訊管理系統主頁面還需要在這個Windowsforms下再新增一個窗體,右擊Windowsforms,選擇新增,選擇Windows窗體,進入到新增新項的對話方塊,名字保持不變為form2,最後單擊新增即可。在這裡我們需要做的東西很多:
1將窗體的Text屬性改為學生資訊管理系統,再將屬性WindowState改為Maximized(第一次出現使其最大化),最後還需要將屬性IsMdiContainer(將主頁面的窗體覆蓋到登入窗之上)改為True。
2需要向窗體上新增控制元件選單欄,在控制元件中我們選擇MenuStrip控制元件,依次新增想要構建的主選單項,學生管理系統的設計者或管理員對所有的模組都是可用的,若是學生或教師則對有些模組不可用,我們這個以後再進行,在這裡我們就是作為管理員或設計者來設計這個系統的,因此對所有的模組可見,需要新增的選單項為:系統管理,成績管理,課程管理,班級管理,學生管理,專業管理,教師管理,此外還需要其它的一些選單項,比如窗體,幫助,退出。
3在窗體上還需要新增StatusStrip控制元件,這個控制元件的作用是狀態列,將狀態列的屬性Name改為tssl_name。
4在窗體上再新增一個工具欄,就是新增ToolStrip控制元件,這個工具欄放在選單欄的下面,在工具欄中新增一個Button控制元件,單擊它會出現一個新的子窗體對話方塊,這個子窗體我們稍後下一步新增。
5進行子窗體的新增,就像新增主頁面窗體一樣再次新增一個名為Children窗體,這個子窗體我們先不做任何的改動,單單就是為了開啟它,進行必要的說明。
6在主頁面的窗體的選單欄的退出,我奧們單擊它需要退出整個程式,這就需要新增Click事件,我們右擊窗體開啟程式碼,回到主頁面窗體中點選退出,找到Click事件,雙擊後面的空白處返回到程式碼編譯寫入:
<span style="font-size:18px;"> private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();//單擊主選單中的退出我們退出整個程式
}</span>
7在新增的工具欄的Button控制元件,我們單擊它會出現名為Children的子窗體,由於主頁面是MDI窗體,因此重複單擊它出現很多名為Children的子窗體,依然是如上上一步驟的那樣新增Click事件,寫入的程式碼為:
<span style="font-size:18px;"> private void toolStripButton1_Click(object sender, EventArgs e)
{
Children qq = new Children();//建立一個子窗體的例項
qq.MdiParent = this;//要求子窗體的父窗體是MDI窗體
qq.Show();
}</span>
這樣基本上主頁面窗體就算是設計完畢。
下面進行的是連線登入窗體和主頁面窗體:
1輸入你所寫的資訊後單擊登入視窗的確定按鈕後進入主頁面窗體,這就需要在登入窗體的確定按鈕(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);//建立一個學生資訊管理系統主介面的物件
ad.Show();//點選確定後進入學生資訊管理系統主介面
}</span>
2單擊登入視窗中的取消按鈕(button2)退出整個程式。也是新增Click事件,寫入程式碼為:
<span style="font-size:18px;">private void button2_Click(object sender, EventArgs e)
{
Application.Exit();//點選取消退出整個程式
}</span>
3我們所在主頁面中新增的狀態列所顯示的資訊如要為我們在登入視窗輸入的資訊那麼就需要在主頁面的窗體中的建構函式做一些修改,將無引數的建構函式改為帶一個字串型別引數的建構函式,將引數傳遞給狀態列的屬性Text,寫入的程式碼為:
<span style="font-size:18px;"> public Form2(string s)
{
InitializeComponent();
tssl_name.Text = s;
}</span>
4我們在開啟主頁面窗體有時候需要隱藏登入窗體,這就需要在單擊確定按鈕後隱藏登入窗體,在第一個步驟的程式碼中新增 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);//建立一個學生資訊管理系統主介面的物件
ad.Show();//點選確定後進入學生資訊管理系統主介面
this.Hide();//單擊確定後隱藏登入視窗
}</span>
在這裡說明一個問題,就是在單擊主頁面的右上方的X按鈕時並沒有退出整個程式,因為是隱藏了登入視窗,如果退出整個程式,需要點選主頁面的自己設定的退出,這才是退出整個程式。
執行除錯,進行錯誤的修改和處理,完整的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);//建立一個學生資訊管理系統主介面的物件
ad.Show();//點選確定後進入學生資訊管理系統主介面
this.Hide();//單擊確定後隱藏登入視窗
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();//點選取消退出整個程式
}
}
}</span>
完整的主頁面窗體的程式碼為:
<span style="font-size:18px;">namespace WindowsForms
{
public partial class Form2 : Form
{
public Form2(string s)
{
InitializeComponent();
tssl_name.Text = s;//將登陸視窗textBox1輸入的資訊傳遞給狀態列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();//建立一個子窗體的例項
qq.MdiParent = this;//要求子窗體的父窗體是MDI窗體
qq.Show();
}
}
}</span>
可以找出你儲存程式的位置開啟你所構建的程式:執行一下試試,對比一下和自己想的有什麼區別,再進行修改。
以上基本上就是學生資訊管理系統主頁面的構建。