在上次的学生登录窗口的设计(Winform学生信息管理系统登陆窗体设计(1) )中,需要修改的地方为:
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>
可以找出你保存程序的位置打开你所构建的程序:运行一下试试,对比一下和自己想的有什么区别,再进行修改。
以上基本就是学生信息管理系统主页面的构建,希望对大家的学习有所帮助。