一步一步学习Winform系列5:主窗体界面的设计和完善

要点:

1、主窗体设计

2、基本信息管理窗体的定位

3、查找可用产品界面的设置

说明:本课主要是对界面的完善与设计,你可以在此下载相关的图片素材。

 


1、主窗体设计


主窗体,顾名思义就是软件的操作主界面,他会有菜单、导航、选项卡等等。我们的基本信息管理模块就只是主窗体中的一个菜单而已。因此,试着设计一个主窗体吧。

 为CSS项目添加一个窗体,命名为Mianform,设置属性设置

WindowState属性改为Maximized

IsMidconainer属性改成true

拖入菜单控件,设置相应的菜单。效果如图:

灰色区域就是子窗体停靠的地方了。

我们从最简单的做起,添加【关于我们】的窗体。

右键添加一个文件夹命名为帮助,添加一个关于的窗体,可以修改一下图片,然后打开本项目内的AssemblyInfo.cs文件,修改里面的变量。会被直接反应在关于窗体的菜单中。

回到Mainform界面,我们需要为【关于我们】的菜单添加一个跳转事件

 //点击菜单:关于我们,在主界面上弹出关于我们的对话框
        //注意:这个窗体直接从properties/AssemblyInfo.cs中取值
        private void 关于我们ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form about = new 关于我们();
            about.MdiParent = this;//这一句话表明了关于我们的窗体与本窗体之间的父子关系            
            about.Show();
        }

运行看看,这个效果

那么我们的基本信息维护菜单的点击与跳转就可以以此类推了。

顺便一提,帮助文档的打开与设置。

复制一个CssHelp.chm文件到NorthwindCSS\NorthwindCSS\bin\Debug目录下(这个目录是项目启动目录,你会留意到经过调试后这个项目内一直有NorthwindCss.exe。等会我们打包的时候需要用到它)

两种方法可以实现打开chm文件。

方法1:为菜单的点击事件启动进程,直接打开文件

  //点击菜单:帮助文档,不借助helpProvider控件的另一种方法
        private void 帮助文档ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string strFile = Application.StartupPath + "\\CssHelp.CHM";
            System.Diagnostics.Process.Start(strFile);
        }

方法2:借助HelpProvider控件,可以相应F1快捷键

//添加帮助F1快捷键
        private void MainForm_Load(object sender, EventArgs e)
        {
            helpProvider1.HelpNamespace = Application.StartupPath + "\\CssHelp.CHM";
            helpProvider1.SetShowHelp(this, true);           
        }

再拖入状态栏StatusStrip控件就比较专业了。这时窗体底部显示的有:

 

在窗体加载事件设置,显示当前系统时间。

//添加帮助F1快捷键
        private void MainForm_Load(object sender, EventArgs e)
        {
            helpProvider1.HelpNamespace = Application.StartupPath + "\\CssHelp.CHM";
            helpProvider1.SetShowHelp(this, true);
            //设置状态栏上的一个Label为当前的系统时间
            statusTimeInfo.Text = "今天是 " + System.DateTime.Now.ToShortDateString();
        }

 运行后效果是

 

附加作业:请大家参考以下的界面继续完善本系统的主窗体。图片素材已下发,这里的控件为ToolStrip。

 

 至此,我们完成了主窗体的优化。

回到顶部


2、基本信息管理窗体的定位


 //点击菜单:维护主界面,在主界面上弹出基本信息维护主界面

private void 维护主界面ToolStripMenuItem_Click(object sender, EventArgs e)
{
//申明子窗体
Form BaseInfo = new 基本信息管理主界面();
BaseInfo.MdiParent = this;
//定义子窗体启动就是最大化
BaseInfo.WindowState = FormWindowState.Maximized;
BaseInfo.Show();
}

回到顶部

 

 


3、查找可用产品界面的设置 


下一节课我们准备学习多重搜索的实现,请大家根据讲义的设置先完成以下界面

将这个窗体的弹出写在主界面的按钮事件上 

private void tsBtn检查可用产品_Click(object sender, EventArgs e)
        {
            Form 查看可用产品 = new 查看可用产品();
            //查看可用产品.MdiParent = this;
            查看可用产品.WindowState = FormWindowState.Maximized;
            //查看可用产品.Show();

            //调用子窗体实例化函数,确认该窗体只被实例化一次
            CommonFunc.CheckChildOpenState(this, 查看可用产品);
        }

 

为了保证该窗体中的控件能跟随Form的最大化而自动布局,这里需要设置两个groupBox的Anchor属性为Top, Left, Right(同时设置左右,就可以保证跟随窗体自动拉伸)。

如果需要响应用户回车就能搜索,那么可以讲这个窗体的acceptButton设置为btn搜索。

 
posted @ 2013-03-12 23:03  森-Pirate  阅读(1368)  评论(0编辑  收藏  举报