前一段比较忙,没有时间来博客园,这几天终于有空,想着要写一些文章,呵呵,高深技术类的不敢涉及,也没有那样的水平,权且把这一段的工作总结写一下,和大家交流交流,也权当我学.net的这一段时间里的一些感想,请大家批评指正。
        《中国豫剧》多媒体光盘项目是我们河南电子音像出版社列入国家“十五”规划的重点项目之一,  它是一套全面、系统、深入的介绍与展示中国豫剧文化和艺术魅力的多媒体系列光盘。它的开发不仅具有重要的文化积累和文化传承价值,更是具有重大的文化建设价值。这套多媒体光盘着眼于让更多的人去了解、认识、感知、理解豫剧这种中国传统的戏曲文化艺术,让豫剧的爱好者、研究者把多媒体光盘当成一种收藏品及使用的工具。
        在这个项目中有一个中国豫剧大辞典工具查询工具,它是一个资料文库,是关于豫剧的一个百科词典,包含了豫剧的所有的方方面面,这个工具主要基于一本以前出版过的豫剧百科全书和一些珍贵的豫剧界的一些资料,呵呵,光这本百科全书就有豫剧相关词条112000余条,文字180万字......把这些原始资料做成数据库和电子格式的东西,可费了我们部门同事们一番功夫,最后看见这些词条都呕吐---^_^,呵呵,我对于做这样的一个数据库式的工具软件,我们考虑的功能主要有以下几个方面:
        设计功能:
       
①、按照目录检索;②、按照索引检索;③、按词条进行模糊查询;④、方便实现复制功能;⑤、方便实现保存功能;⑥、提炼人们常要检索的信息,做相关信息的查询,比如“小二黑”词条,不仅有文字信息,还有音视频方面的信息;⑦、方便实现打印功能;⑧、方便将数据导出为xml的功能;⑨、支持语音功能;
        其实在做这个东西之前,我们也认真地研究了一些有类似功能的比较著名的工具,如《金山词霸》、微软的大百科全书,我们主要是从这些比较著名的工具中吸取经验,研究它们的交互,以及比较成熟的功能,界面........,呵呵^_^。
        唉、说了这么多的废话,一点和.net有关都没有,呵呵,别急,马上就来,也就是我下面要说的,软件启动的splash窗口问题;
        软件启动的splash窗口问题
        地球人都知道,在一个稍微大型的软件产品里,splash窗口是不可或缺的东西,它不仅可以美化应用程序、提高应用程序交互性、而且主要的是在程序启动是进行一些数据的初始化,如果splash窗口设计的很好(设计方面和主界面相映成趣,程序执行效率比较高),能够很好提高程序的亲和性
        因为以前老用vb6.0开发,所以熟悉了以前的splash窗口的制作方法,主要是用主窗体向splash窗体发送消息,在splash窗口中提示程序初始化的运行状态,然后用Application.DoEvents()模拟......
        可能的程序代码为:
-------------------------------------------------------------------------------------------------------
        在splash窗口中:
    Public Class frmStatus    '*splash窗口类
    Inherits System.Windows.Forms.Form
        Public Overloads Sub Show(ByVal Message As String)    '*消息接收函数
            lblStatus.Text = Message
            Me.Show()
            Application.DoEvents()
        End Sub
    End Class
        在主窗口中:
    Option Strict On
    Imports System.Data.SqlClient
    Public Class frmMain
     Inherits System.Windows.Forms.Form
         Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '*程序初始化
            Dim frmStatusMessage As New frmStatus()
            frmStatusMessage.Show("程序在初始化")    '*调用splash窗口中的函数
         End Sub
    End Class

--------------------------------------------------------------------------------------------------------------------------------------------------
        但是使用了vb.net之后我们还用这种方法吗,当然可以,不过我们可以想想更方便的、更完美的方法,自然而然的我们就能想到.net中的多线程,多线程的特性我不想多说,但是这种特性被带到vb中来却实是太好了,用多线程的方法去完美实现splash网上有现成的例子,这种方法很好:
        下面给个链接,大家有兴趣看看,高手就不必了,呵呵^_^
        “Splash窗口在.NET中的实现”     http://www.frontfree.net/view/article_770.html
        其实正像大家想象的,我们可以用多线程大大改善程序的运行,在下一篇中,我会谈谈我在这个项目中使用多线程的感受。
       
                                                                (未完--------待续)