任务2.3系统主界面

1.MDI效果


image.png

image.png

2.主要步骤
1.将窗体的IsMdiContainer属性设置为True,它就是容器窗体。
2.在一个MDI父窗体的某个事件处理程序中,创建一个子窗体实例formChild1并将其显示在MDI父窗体的客户区中,加入代码进去。
3.在LoginForm的登录方法中,双击登录控件添加代码
4.在MainFormUser窗体中添加代码段,使两个窗体可以相互传值。
5.使用DataTime类获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间,让收银员和库管员都能看见自己的登录时间。
3.控件属性
控件MenuStrip 使用户能够方便地创建菜单。
控件ComboBox组合框可以下拉文本。
控件TextBox文本框可以使用户方便输入文本并编辑。
控件ImageScalingSize工具栏或状态栏的项显示图像的大小。
控件Items在工具条或状态条上显示的项的集合。
控件DisplayStyle设置图像和文本的显示方式,显示文本和图像或什么都不显示。
控件Image按钮/标签上显示的图片。
控件Text按钮/标签上显示的文本。
控件Spring指定项是否填满剩余空间。
控件Timer计时器,用于需要按一定时间间隔周期性执行某事件的场合,
是一个非可视化的控件。
4.功能对应
1.在LoginForm中点击登录按钮,进入MainFormUser,同时隐藏LoginForm。登录用户名传递到MainFormUser中显示,这样就可以相互传值。
2.功能模块对应图


image.png

5.代码片段
1.将下一段代码编写在一个MDI父窗体的某个事件处理程序中,再创建一个子窗体formChild1,那就能单击这个事件后弹出子窗体。
FormChild formChild1 = new FormChild();

formChild1.MdiParent = this;
formChild1.Show();
2.在LoginForm的登录方法中,添加如下代码。
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();
            }

3.在MainFormUser窗体中添加,窗体加载显示当前的用户名。
{
public partial class MainFormUser : Form
{
public string userName; /* 保存登录用户名 */

    public MainFormUser()
    {
        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;
    }

4.使用DataTime类获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间。

DateTime.Now.ToString(); // 默认格式的日期和时间
DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”); // 指定格式:2018-04-09 21:02:10�// 获取日期�DateTime.Now.ToShortDateString(); // 默认日期格式
�DateTime.Now.ToString(“yyyy-MM-dd”); //指定日期格式:2018-04-09�// 获取时间
�DateTime.Now.ToLongTimeString(); // 默认时间格式
DateTime.Now.ToString(“hh:mm:ss”); // 指定时间格式:09:02:10```

你可能感兴趣的:(任务2.3系统主界面)