Asidy'Blog

学会感恩,学会共享;先做人,后做技术……
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

申明:本系列课程是专为新手们写来入门练习用的,目的是想通过一个完整的问卷调查管理系统案例来让新手们了解、加深或是熟悉项目的开发流程及
.NET平台上使用VS2005C# 进行Windows方面的编程;在整个课程的设计上,我尽量避开或是根本不讨论底层的以及性能优化等方面的东西,
故高手完全可以无视本系列课程。

    本课将带领大家一起来实现数据库导出与还原、窗口管理等辅助功能。这些功能并非本案例系统的主要功能,只是一些辅助上的功能,
故本课程的只是提取几个功能出来简单的讲解一下其实现的原理或方法,至于其设计的思路在这里就不讲了,似乎没有什么可讲的^_^
    
下面进入主题吧……

一、数据库导出与还原功能的实现
大家在一些系统里应该也看到过数据库导出与还原的功能,不知道大家在使用的时候有没有去想过其实现的原理?其实,其实现的原理与逻辑是非常之简单的:
导出时,找到其数据库存放的位置及其名称,之后用一个File.Copy()方法将其COPY到新的位置即可;
而还原,正好是相反,即从新的位置COPY到当前系统数据库的位置,
并覆盖掉当前系统的数据库;其实现的代码如下所示:
Code
二、窗口管理功能的实现
看过前面第五课的朋友们,应该知道,我们在本案例系统中使用了一个叫作DockPanel的第三方开源控件,
在这里我们就来简单的说说它的一些功能的实现方法吧。
首先,我们来看看系统左边的“系统管理”工具箱的实现吧。
先新建一个如下图8-1所示的名为 ToolFrom”的新窗体[至于相关功能的实现请自行下载下面的本课程源码进行查看,在这里就不讲了]

图8-1
那么,建好之后,如何让其如下图8-2所示浮动在主窗口的左边呢?

图8-2
在这里,我们就需要用到第三方开源控件DockPanelDockTo()方法了,其实现的原理的是这样的:
dockPanel(通过前面课程的学习,我们应该知道所有的打开子窗口,如问卷管理,都是放在dockPanel容器中的)中依次查找所有打开的子窗口,
如果找到所需的窗口则将其
dockPanel中停靠的位置和方式设置成DockStyle.Left,即使其靠左边停靠,其实现的代码如下所示:
Code

其次,我们再来看看关闭其他窗口的实现的原理,先来看代码:
Code

从上面的代码中,我们可以看出其实现的原理是这样的:在dockPanel中依次查找所有的打开的子窗口,
如果查找到的子窗口不是当前打开的正处于活动状态的子窗口,则将其关闭掉。
最后,我们来看看任务栏图标的创建方法。
大家都知道QQ运行时,在桌面右下侧的任务栏中会有一个QQ的图标,那么这个图标是如何制作出来的呢?
其实在VS2005的开发中很容易实现,我们只要将工具栏中的notifyIcon控件拖动到主窗口“MainFrom”中,
并给其Icon属性选择一个我们喜欢的ico图片即可!呵呵,是不是很简单呀^_^

OK,本课程就先到这里,如有其它不清楚或疑惑的地方,请在下面留言说明,我将尽全力给予解答,希望能给大家带来一点帮助!
谢谢的大家支持……

附:本课程源码下载