zoukankan      html  css  js  c++  java
  • 艾伟:基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现 狼人:

    本系列文章导航

    基于.NET平台的Windows编程实战(一)——前言

    基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计

    基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写

    基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现

    基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现

    首先,为了使我们的界面更加便于操作及布局,我们引入第三开源控件DockPanel[当然也可以不引入控件而直接进行开发],你可以从这里:DockPanel控件 下载其编译好的DLL文件,也可以从这里:http://sourceforge.net/projects/dockpanelsuite 进行下载。关于DockPanel控件的相关资料大家可以去http://sourceforge.net/projects/dockpanelsuite 或上网查找相关资料进行了解,本项目系统只是用其来进行界面布局方面的操作,至于其它方面的功能不作研究讨论,有兴趣的朋友可以去http://sourceforge.net/projects/dockpanelsuite 上下载其源码来进行研究。

    OK!下载了DockPanel控件后,我们将其(即WeifenLuo.WinFormsUI.Docking.dll文件)COPY到前面创建的QuestionnaireSystem项目中的bin文件夹中,并添加到项目的引用中去,方法如下:右击项目名称或右击“引用”-à“添加引用……”,在弹出的对话框中选择浏览选项卡,并找到刚才COPY到项目中的WeifenLuo.WinFormsUI.Docking.dll文件,点“确定”即可,如下图5-1所示:

    图5-1

    DockPanel引入成功后,我们便可以将其做为放到工具箱中像其它控件一样使用了,下面我们将其添加到工具箱:在左边工具箱下面的空白处右击-à“选择项”-à在弹出的对话框中点击“浏览”并找到COPY到项目中的WeifenLuo.WinFormsUI.Docking.dll并打开,之后如下图5-2所示,再点击“确定”,即可发现左边的工具箱下面多了个DockPanel控件,这表示添加成功了。

    图5-2

    打开之前我们创建的主窗口MainFrom,并把刚才添加到工具箱的DockPanel控件拉到其界面的空白处,将其Name属性设为dockPanel,并点击如下图5-3所示的“在父容器中停靠”,使其停靠到父容器中。

    图5-3

    好!打住!主窗口MainFrom的设置先到这里,后面我们再接着设置。

    下面我们先来创建一个母窗口吧,以便之后各窗口继承。方法:右击项目名-à“添加”-àWindows窗体”,在弹出的对话框中进入“SurveryWin”,点“确定”即可,如下图5-4所示:

    图5-4

    并设置如下属性:

    BackColorWhite

    Icon:设置成项目文件夹Images中的logo.ico图片

    Text:设为空,也可以不设

    之后,往窗体中拉入一个ContextMenuStrip控件,将其Name设为” CMenuStrip”,并在其第一个子项目上输入“关闭”,如下图5-5所示:

    图5-5

    之后,在“关闭”上双击,进入代码编辑器,将其代码改写成如下所示:

    Code

     

    到这里,母窗口算是创建好了,下面就让我们分别来创建问卷添加、问卷编辑、预览问卷、问卷管理四个窗口,依次命名为SurveyAddSurveyModifySurveyPreviewSurveyManage,(创建方法同上面的母窗口的创建一样,在此以及以后的课程中将不再多说),并都使其继承于SurveyWin母窗口,继承的方法也与上面一样,将对应类后面继承的From改成SurveyWin即可,下面以SurveyAdd窗口为例进行讲解说明:

    原来为:

    public partial class SurveyAdd :From

    现在改成:

    public partial class SurveyAdd :SurveryWin

     

    之后,往SurveyAdd窗口中拉入相应的控件,并设置成如下图5-6所示,具体的属性设置请下载下面的本课程源码进行查看:

     

    图5-6

     

        其对应的代码改成如下所示:

       

    Code

    以上的代码在这里就不用再进行讲解了吧,上面的注释已经写的很清楚了^_^

    至于其它三个窗口的设置,与上面的大同小异,就不一一列出来了,请大家自行下载下面的本课程源码进行对照设置吧。

     

    创建好各窗口后,让我们再回到主窗口MainFrom中来进行相对应的关联设置吧!

    先在MianFrom中引入DockPanel,如下所示:

    using WeifenLuo.WinFormsUI.Docking;

    再分别给主菜单 “问卷”下面的子选项以及工具栏中的:“添加问卷”与“问卷管理” 添加Click事件及ItemClick事件,并写一个用来查找已打开窗口的方法FindDocument(string text),用来判断哪些窗口已经打开了,哪些窗口还没有打开,具体代码如下所示:

     

    Code

     

    最后,我们修改一下主窗口的Load事件,以便启动系统时能打开问卷管理窗口,代码如下所示:

     

    private void MainForm_Load(object sender, EventArgs e)
            
    {  
                    SurveyManage sm 
    = new SurveyManage();
                    sm.Show(
    this.dockPanel); 
        }

     

    附,本课程源码下载

  • 相关阅读:
    Bullet 学习笔记之 btPersistentManifold 及 btManifoldPoint
    Bullet 学习笔记之 btCollisionWorld::performDiscreteCollisionDetection
    Bullet 学习笔记之 btCollisionWorld
    hdu 6617
    codeforces 1247 E
    GYM 101174 A
    GYM 100714 G
    codeforces 1239 C
    牛客挑战赛33D
    codeforces 1238 E
  • 原文地址:https://www.cnblogs.com/waw/p/2156773.html
Copyright © 2011-2022 走看看