第八组(2018-12-03)

任务2.3 系统主界面的制作

1.主界面的GIF效果图:


主界面的制作效果图

2.实现MDI主界面的主要步骤:
(1)找到MdiParent容器窗体并安放在相应位置,MDI的容器窗体(父窗体)必须且只能有一个,其客户区用于显示子窗体。

(2)不要在容器窗体的客户区加入控件,否则那些控件会显示在子窗体中。

(3)容器窗体的框架区设置菜单、工具栏和状态栏等控件。

(4)通过关键代码使子窗体被显示在容器窗体的客户区之中。

3.涉及到的控件,控件重要属性和方法:
(1)MenuStrip菜单中可以添加: 菜单项(MenuItem),组合框(ComboBox),文本框(TextBox)

MenuStrip

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


主要属性和事件图示

StatusStrip状态栏特有属性:


特有属性图示

(3)Timer控件:计时器,用于需要按一定时间间隔周期性执行某事件的场合,是一个非可视化的控件。
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;
        }
    }

你可能感兴趣的:(第八组(2018-12-03))