任务2.3 系统主界面的制作
1.主界面的GIF效果图:

2.实现MDI主界面的主要步骤:
(1)找到MdiParent容器窗体并安放在相应位置,MDI的容器窗体(父窗体)必须且只能有一个,其客户区用于显示子窗体。
(2)不要在容器窗体的客户区加入控件,否则那些控件会显示在子窗体中。
(3)容器窗体的框架区设置菜单、工具栏和状态栏等控件。
(4)通过关键代码使子窗体被显示在容器窗体的客户区之中。
3.涉及到的控件,控件重要属性和方法:
(1)MenuStrip菜单中可以添加: 菜单项(MenuItem),组合框(ComboBox),文本框(TextBox)

(2)ToolStrip工具栏和StatusStrip状态栏
工具栏及状态栏上的按钮和标签的主要属性和事件 :

StatusStrip状态栏特有属性:

(3)Timer控件:计时器,用于需要按一定时间间隔周期性执行某事件的场合,是一个非可视化的控件。

4.主界面功能与系统结构图的关联:
通过库管员/收银员两种不同主界面的设计,达到与其对应功能相匹配的板块,以此让各个岗位各司其职,有条不紊的进行工作。为了使每个工种的工作效率达到理想效果,我们针对职能不同,设计了两种主界面板块(收银员/库管员),通过其工作性质的不同来设计对应界面内的主要功能项目,使整个系统能够较为稳定的工作在一个理想状态。
5.主要代码及说明:
显示子窗体的代码
FormChild formChild1 = new FormChild(); //新建一个子窗体
formChild1.MdiParent = this; //说明在父容器中显示的是这个新建子窗体
formChild1.Show(); //让新建子窗体显示出来
在对应界面显示相应主界面的代码
// 点击“登录”按钮则登录系统
private void bt_Login_Click(object sender, EventArgs e)
{
if (this.cbb_Type.SelectedItem.ToString() == "收银员")
{
if (this.tb_User.Text == "123456" && this.tb_Password.Text == "123456")
{
MessageBox.Show("收银员登录成功");
// 显示收银员主界面
MainFormUser formUser = new MainFormUser();
formUser.userName = this.tb_User.Text.ToString();
formUser.Show();
// 隐藏登录界面
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
if (this.cbb_Type.SelectedItem.ToString() == "库管员")
{
if (this.tb_User.Text == "admin" && this.tb_Password.Text == "admin")
{
MessageBox.Show("库管员登录成功");
// 显示库管员主界面
MainFormAdmin formAdmin = new MainFormAdmin();
formAdmin.userName = this.tb_User.Text.ToString();
formAdmin.Show();
// 隐藏登录界面
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
显示时间日期的方法代码
//获取日期+时间
DateTime.Now.ToString(); // 默认格式的日期和时间
DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”); // 指定格式:2018-04-09 21:02:10
大写“HH”表示24小时制
// 获取日期
DateTime.Now.ToShortDateString(); // 默认日期格式
DateTime.Now.ToString(“yyyy-MM-dd”); //指定日期格式:2018-04-09
// 获取时间
DateTime.Now.ToLongTimeString(); // 默认时间格式
DateTime.Now.ToString(“hh:mm:ss”); // 指定时间格式:09:02:10
小写“hh”表示12小时制
在子窗体中显示时间日期的代码
public partial class MainFormAdmin : Form
{
public string userName; /* 保存登录用户名 */
public MainFormAdmin()
{
InitializeComponent();
}
// 窗口加载时,显示当前时间,显示当前用户名
private void MainForm_Load(object sender, EventArgs e)
{
this.tssl_CurrentTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
this.tssl_User.Text = this.userName;
}
}
网友评论