sinom(毛毛):
MSDN里有,不好意思,我没找着啊。这个规范,是个全面的,包括变量命名啊,控件命名啊,函数、过程命名啊,注释格式,界面设计规范什么的。litsnake1(litsnake) :你有什么啊,给我看看呗,[email protected],先记20分。

解决方案 »

  1.   

    [email protected]是我的油箱
      

  2.   

    zhenyukeji(何处是我家) ;
        你发了吗?我真没收到呀?
      

  3.   

    zhenyukeji(何处是我家) 我也要。
      

  4.   

    [名称]           编程规范一[语言种类]       各种文档[类别一]         基础知识[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-02-17[关键字一]       编程规范[关键字二]       约定[关键字三]       格式[内容简介]       空[源代码内容]第一条:什么是编程规范:所谓编程规范即是千百万有经验的程序员经历长期教训后,极少数的一些人通过总结和反思而养成的信条和习惯。这一规范可给你:
    高效率地编程
    高质量的代码
    高奖金的回报
    第一章 项目管理
    (善于鼓舞人心的领导,应能乐观看待一切,把失败当作是学习经验,则会有新的重大的突破。)
    第二条:项目的管理由项目主管(经理)、技术主管(经理)、产品主管(经理)分工合作,共同管理。
    项目主管(经理)必须由最有经验的程序员担任,职责是管理代码的规范性,程序编码进度。
    技术主管(经理)也必须由有最有经验的程序员担任,技术主管必须了解当前市场最新技术。职责是代码实现技术,解决开发疑难,以及设计文档与实际开发的一致性维护与细化和程序抟量控制。
    产品主管(经理)必须了解市场需求,管理需求文档的建立和软件的测试。
    第二章 程序质量控制:
    第三条:质量标准:程序应具备可移植性,是空间及速度上达最大优化。同时,对于程序可能的出错,必须要有相应的错误捕获。具体质量参数如下:
    1, 空间,如果不是持殊要求,程序应当尽可能少用空间。
    2, 速度,程序应当是能在最优化的即最快的速度运行。
    3, 鲁棒性,不会应任何误操作(包括非法数值)使程序崩溃。
    4, 安全性,对于有用户数据,或网络程序,应当保证其数据或网络的安全。
    5, 可测试性,产品应有测试版(BETA版),能生成测试报告。
    6, 可维护性,详细的注解,且程序应当具有面向对象的构件及模快。并且遵守对象与变量的命名规范。
    7, 简单,易操作,易使用。
    8, 可复用性,构件能用于其它产品中。
    9, 可移植性。易于转换到不同的操作系统中。
    第四条:界面要求:程序应具有以下友好的界面:1,操作简便,2,外观漂亮
    第五条:质量控制原则:
    1, 任何程序在编程或制作前应有详细设计文档,保证有了方案后再写代码。
    2, 必须利用面向对象的原则将项目细分,使其构件化,并将构件作为小的项目看待。
    3, 不得使用长于两个月周期的项目。应何产品,都应当有长度约为一周的短期目标。每一目标应当是可以运行且能够看到结果的目标。
    4, 如果要实现某一功能,则一定要使其完善,即,送给用户"夹生的",不如只给用户"做熟的"。
    5, 时刻应当注意,产品是一个整体,即只要有任一构件不足,则会毁了本产品。
    6, 国际化:任何产品,不可将文字写在图片上,应只使用无文字的图片,界面文字,如能保存在资源文件中,则必须使用资源文件。保证产品易于国际化。
    第六条:编程时的质量保证:
    1, 程序员应从写代码时就开始查错。
    2, 从写代码时就应保证代码(构件)可共享(可复用)。即开始编程时,就考虑,这一构件是否有可能用于今后的其它产品中,如果是,则应做成可复用性的构件,使其能共享。
    3, 任何程序员都应当独立工作,公司按程序员的实际工作量付薪酬,而不是按工作时间付薪酬。因而,程序员应当严格遵守编程规范,以保证效率。
    4, 保证无错代码:如果遵守以下原则,则无错代码是可能的:
    (1) 在用法不确定时,查看帮助。
    (2) 编译通过时,应作边界值查错。
    (3) 对于有警告选项的开发工具(如:VC),应当打开编译器警告开关。
    (4) 数据库操作时,应当加入错误捕获。
    (5) 动用编程时,应先理顺思路。(好的思路可能使代码更少,且效率更高)
    (6) 当一个逻辑单元的程序写好时,及时加上详细的注解,写明逻辑流程。
    (7) 动手编程时,应当考虑,该设计的实现手段易出错的程度如何?如果易出错,则应当找出更好的不易出错的手段再开始写程序。
    (8) 微软在VB中的原则:
    可用几个方法避免在应用程序中产生错误: 
    写出相关事件以及代码响应每个事件的方法,精心设计应用程序。为每个事件过程和每个普通过程都指定一个特定、明确的目标。
    多加注释。如果用注释说明每个过程的目的,那么,在回过头来分析代码时,就能更深入理解这些代码。
    尽可能显式引用对象。要象对象浏览器中所列举对象那样声明对象,而不用 Variant 或一般的 Object 数据类型。
    在应用程序中对变量和对象提出一种前后一致的命名方案。更详细的信息,请参阅"编程约定"。
    造成错误的一个最普通的原因就是键入了不正确的变量名,或把一个控件与另一个控件搞混了。可用 Option Explicit 避免变量名的拼写错误。 关于要求显式变量声明的详细信息,请参阅"编程基础"中的"变量、常量和数据类型概述"。
    第七条:查错原则:
    1, 在编程时,当程序发现错误,应当立即改错。现在就改,以避免程序完成时遗漏未改的错误。
    2, 发现错误时,应当找出从错误的源头再修改。(对此,应当摒弃"工作量太大了"的思想)
    3, 当代码有错时,绝不可以猜测错在哪里。试图碰运气改正它。必须停下来思考已发现的错误,从而判断是否别的地方有相关的错误还没有暴露出来。思考如何更易发现错误,如何避免此类错误。
    第三章 技术会议
    第八条:技术会议应遵守下列原则:
    1, 不可分割工作时间,即:唯有周一早上或周五下午才是最佳时间。
    2, 会议要有目的,即能通过会议作出决定时或确有重要信息传达时才开技术会议。
    3, 会议最终一定要落实最终目标,具体实现用各人的具体任务。
    4, 会议只对将来,故总结也为了将来,因而绝不可以有冗长的总结。
    5, 会议一定要有详细的会议记录,以备查实际落实情况。
    6, 应当遵守"不要带来问题,应当带来解决方案"的原则。不可将问题留到下一次会议。
    7, 一个良好且具体的解决方案应明确:问题,详细方案,负责人与最后期限。
    第四章 编码约定
    第九条:为什么要进行编码约定?
    使用统一编码约定集的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段编码。
    好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。
    最小编码约定
    一组通用目的的编码约定应该定义完成上述目的所必需的、能让程序员自由地创建程序逻辑和功能流程的最小的要求。
    最小编码约定的目的是使程序易于阅读和理解,而不是用过份的约束和绝对的限制来束缚程序员本身的创造性。
    所以,该附录中提出的约定是简洁和建意性的。这些约定中没列出每一个可能的对象或控件,也没列出每种有用的信息注释。根据工程及机构的特殊要求,也许希望扩充这些准则,以包含附加的元素,如: 
    对于在家庭中开发的或从第三方厂商购买的特定对象及组件的约定。
    描述机构的商业活动或设备的变量。
    工程或企业认为对清楚性和可读性很重要的任何其它元素。
    第十条:以下内容以VB为蓝本,任一开发工具均以此为参考。地加以改正。
         以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-08 17:59
               软件版本: 1.0.748
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729
    [名称]           编程规范二[语言种类]       各种文档[类别一]         基础知识[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-02-17[关键字一]       编程规范[关键字二]       约定[关键字三]       格式[内容简介]       空[源代码内容]
    第十一条:对象命名约定
    应该用一致的前缀来命名对象,使人们容易识别对象的类型。下面列出了一些推荐使用的对象约定。
    推荐使用的控件前缀
    控件类型 前缀 例子 
    3D Panel  pnl pnlGroup 
    ADO Data ado adoBiblio 
    Animated button ani aniMailBox 
    Check box chk chkReadOnly 
    Combo box, drop-down list box cbo cboEnglish 
    Command button cmd cmdExit 
    Common dialog  dlg dlgFileOpen 
    Communications  com comFax 
    Control ctr ctrCurrent 
    Data dat datBiblio 
    Data-bound combo box dbcbo dbcboLanguage 
    Data-bound grid dbgrd dbgrdQueryResult 
    Data-bound list box dblst dblstJobType 
    Data combo dbc dbcAuthor 
    Data grid dgd dgdTitles 
    Data list dbl dblPublisher 
    Data repeater drp drpLocation 
    Date picker dtp dtpPublished 
    Directory list box dir dirSource 
    Drive list box drv drvTarget 
    File list box fil filSource 
    Flat scroll bar fsb fsbMove 
    Form frm frmEntry 
    Frame fra fraLanguage 
    Gauge gau gauStatus 
    Graph gra graRevenue 
    Grid grd grdPrices 
    Hierarchical flexgrid flex flexOrders 
    Horizontal scroll bar hsb hsbVolume 
    Image img imgIcon 
    Image combo imgcbo imgcboProduct 
    ImageList ils ilsAllIcons 
    Label lbl lblHelpMessage 
    Lightweight check box lwchk lwchkArchive 
    Lightweight combo box lwcbo lwcboGerman 
    Lightweight command button lwcmd lwcmdRemove 
    Lightweight frame lwfra lwfraSaveOptions 
    Lightweight horizontal scroll bar lwhsb lwhsbVolume 
    Lightweight list box lwlst lwlstCostCenters 
    Lightweight option button lwopt lwoptIncomeLevel 
    Lightweight text box lwtxt lwoptStreet 
    Lightweight vertical scroll bar lwvsb lwvsbYear 
    Line lin linVertical 
    List box lst lstPolicyCodes 
    ListView lvw lvwHeadings 
    MAPI message mpm mpmSentMessage 
    MAPI session mps mpsSession 
    MCI mci mciVideo 
    Menu mnu mnuFileOpen 
    Month view mvw mvwPeriod 
    MS Chart ch chSalesb
      

  5.   

    [名称]           编程规范三[语言种类]       各种文档[类别一]         基础知识[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-02-17[关键字一]       编程规范[关键字二]       约定[关键字三]       格式[内容简介]       空[源代码内容]
    第十二条:常量和变量命名约定
    除了对象之外,常量和变量也需要良好格式的命名约定。
    变量应该总是被定义在尽可能小的范围内。全局 (Public) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。所以,全局变量,在一个产品中应当不多于10 个。
    在Visual Basic中变量可以有下列范围:
    范围 声明位置 可见位置 
    过程级 过程,子过程或函数过程中的 'Private' 在声明它的过程中 
    模块级 窗体或代码模块(.frm、.bas )的声明部分中的 'Private' 窗体或代码模块中的每一个过程 
    全局 代码模块(.bas)的声明部分中的 'Public' 应用程序中的每一处 
    在应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指明它的作用,如 Public.bas。
    较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在有用的组件中,并减小它运行时的开销。
    除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。在过程中使用的全局变量应该在过程起始处的声明部分中标识出来。此外,应该用 ByVal 将参数传递给 Sub 过程及 function 过程,除非明显地需要改变已传递的参数值。
    变量范围前缀
    随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母范围前缀标明了这种增长,但变量名的长度并没有增加很多。
    范围 前缀 例子 
    全局 g gstrUserName 
    模块级 m mblnCalcInProgress 
    本地到过程 无 dblVelocity 
    如果一个变量在标准模块或窗体模块中被声明为 Public,那么该变量具有全局范围。如果一个变量在标准模块或窗体模块中被分别声明为 Private,那么该变量有模块级范围。
    注意  一致性是卓有成效地使用这种技术的关键;Visual Basic 中的语法检查器不会捕捉以 "p." 开头的模块级变量。
    常量
    常量名的主体是大小写混合的,每个单词的首字母大写。尽管标准 Visual Basic 常量不包含数据类型和范围信息,但是象 i、s、g 和 m 这样的前缀对于理解一个常量的值和范围还是很有用的。对于常量名,应遵循与变量相同的规则。例如:
    mintUserListMax      '对用户列表的最大限制
                      '(整数值,本地到模块)
    gstrNewLine            '新行字符
                      '(字符串,应用程序全局使用)
    变量
    声明所有的变量将会节省编程时间,因为键入操作引起的错误减少了(例如,究竟是 aUserNameTmp,还是 sUserNameTmp,还是 sUserNameTemp)。在"选项"对话框的"编辑器"标签中,复选"要求变量声明"选项。Option Explicit 语句要求在 Visual Basic 程序中声明所有的变量。
    应该给变量加前缀来指明它们的数据类型。而且前缀可以被扩展,用来指明变量范围,特别是对大型程序。
    变量数据类型
    用下列前缀来指明一个变量的数据类型。
    数据类型 前缀 例子 
    Boolean bln blnFound 
    Byte byt bytRasterData 
    Collection col colWidgets 
    Currency cur curRevenue 
    Double dbl dblTolerance 
    Error err errOrderNum 
    Inteage int intQuantity 
    Long lng lngDistance 
    Object obj objCurrent 
    Single sng sngAverage 
    String str strFName 
    User-def udt udtEmployee 
    Variant vnt vntCheckSum 
    描述变量和过程名
    变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且,函数名应该以一个动词起首,如 InitNameArray 或 CloseDialog。
    对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。
    当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt, 一会儿使用 Count,将导致不必要的混淆。
    用户定义的类型
    在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前缀。     以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-08 17:59
               软件版本: 1.0.748
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729[名称]           编程规范四[语言种类]       各种文档[类别一]         基础知识[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-02-17[关键字一]       编程规范[关键字二]       约定[关键字三]       格式[内容简介]       空[源代码内容]第十三条:结构化编码约定
    除了命名约定外,结构化编码约定,可以极大地改善代码的可读性,如代码注释和一致性缩进。
    代码注释约定
    所有的过程和函数都应该以描述这段过程的功能的一段简明注释开始(这段例程干什么)。这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟-成为错误的注释。代码本身和必要的嵌入注释将描述实现方法。
    当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每个过程的起始处描述它们。
    过程头注释块应该包括下列节标题。关于例子,请参阅下节"格式化代码"。
    节标题 注释描述 
    目的 该过程完成什么(而不是怎么完成)。 
    假设 列出每个外部变量、控件、打开文件或其它不明显元素。 
    效果 列出每个被影响的外部变量、控件、或文件及其作用(只有当它不明显时)。 
    输入 每一个可能不明显的参数。参数分别在单独的行上,并嵌入注释。 
    返回 函数返回值的说明。 
    记住下列几点: 
    每一个重要变量的声明应该包括一个嵌入注释,来描述该变量的使用。
    变量、控件及过程的命名应该足够清楚,使得只有复杂的执行细节才需要嵌入注释。
    .Bas 模块包含工程的 Visual Basic 一般常量声明,在其起始处,应该包括描述应用程序的综述,列举主要数据对象、过程、算法、对话、数据库及系统需求。有时,一段描述算法的伪码可能会有所帮助。 
    格式化代码
    因为许多程序员仍然使用 VGA 显示器,所以在允许代码格式来反映逻辑结构和嵌套的同时,应尽可能地省屏幕空间。下面列出几点: 
    标准的、基于制表位的嵌套块应该被缩进四个空格(缺省情况下)。
    过程的功能综述注释应该缩进一个空格。跟在综述注释后面的最高级的语句应该缩进一个制表位,而每一个嵌套的块再缩进一个制表位。例如: 
    '*****************************************************
    '目的:      在用户列表数组中找出
    '            一个指定用户的第一次出现位置。
    '输入:
    '  strUserList():  被搜索的用户列表。
    '  strTargetUser:  要搜索的用户名。
    ' 返回:  在rasUserList 数组中rsTargetUser 
    '            的第一次出现的索引。
    '            如果目标用户没找到,返回-1。
    '*****************************************************Function intFindUser (strUserList() As String, strTargetUser As _
      String)As Integer
      Dim i As Integer            ' 循环计数器。
      Dim blnFound As Integer      ' 目标寻找标志。
      intFindUser = -1
      i = 0
      While i <= Ubound(strUserList) and Not blnFound
          If strUserList(i) = strTargetUser Then
            blnFound = True
            intFindUser = i
          End If
      Wend
    End Function
    给常量分组
    变量和定义的常量应该按功能分组,而不是分散到单独区域或特定文件中。Visual Basic 一般常量应该在单一模块中分组,以将它们与应用程序特定的声明分开。& 和 + 运算符
    在连接字符串时总是使用 & 运算符,而当处理数值时常用 + 运算符。当在两个变体上操作时,用 + 运算符来连接可能会导致问题。例如:vntVar1 = "10.01"
    vntVar2 = 11
    vntResult = vntVar1 + vntVar2    'vntResult = 21.01
    vntResult = vntVar1 & vntVar2  'vntResult = 10.0111为 MsgBox、InputBox 及 SQL 查询创建字符串
    当产生长字符串时,使用下划线连接字符产生多行代码,这样便于阅读或调试字符串。当显示一个消息框 (MsgBox) 或输入框 (InputBox),或产生一个 SQL 字符串时,这一技术特别有用。例如:Dim Msg As String
    Msg = "This is a paragraph that will be " _
    & "in a message box. The text is" _
    & " broken into several lines of code" _
    & " in the source code, making it easier" _
    & " for the programmer to read and debug."
    MsgBox MsgDim QRY As String
    QRY = "SELECT *" _
    & " FROM Titles" _
    & " WHERE [Year Published] > 1988"
    TitlesQry.SQL = QRY
    第五章:程序验收
    第十四条:测试与验收:任何程序需经测试无错后,方能通过验收。
    第十五条:程序测试应有详细的测试报告。程序员应根据测试报告无条件
         以上代码保存于: SourceCo
      

  6.   

    一般用匈牙利命名法比较好。
    类型-值-属性名
    如:
    txtboxRedColor
    第一个类型小写,后面的每一个单词第一个字母大写
      

  7.   

    注意三个问题?
     你的代码是否规范?
        一个好的程序,不但要有简明精确的算法、严密的逻辑思维和正确的思想体现,代码规范也同样重要。规范的代码,可以让我们的程序写得更加平易近人,更加生动,对我们的编程是大有益处的,对我们的程序学习也能起到事半功倍的效果。
    所谓规范换句话说,也就是在编程的过程中,我们应遵守一些成文的或不成文的标准或约定。使用统一的编码标准的主要原因有:
    1. 使应用程序的结构和编码风格标准化,以便于阅读和理解。
    2. 便于查错
    3. 减少垃圾代码的出现率
    4. 便于集成(通常一个项目分成几个模块分给几个人(或团队)开发,最后由项目负责人将其合在一起)
     VB编程过程中,主要有如下约定:
          一.命名约定
        1.对象命名约定
    应该使用一致的前缀来命名对象,使人们容易识别对象的类型。例如我们常用控件CommandButton(命令按钮)可用cmd做为其前缀。与之似,Form以frm,Image以img,Label以lbl,List Box以lst,Picture Box以pic,Timer以tmr做为前缀是很方便区分的。在我们编程的过程中,我们看到下面的名称cmdExit我们就知道这一定是一个命令按钮了。如果是第三方提供的控件,我们的说明最好要清晰地标出制造商的名称,以区别于我们的常用控件。
    2.常量和变量的命名约定
       2.1给变量加范围前缀
     变量按其作用范围可分做三类,过程级,模块级和全局,所以我们在编程的过程中应将三者加以区别。我们在使用变量时,为了更好地体现代码重用和可维护原则,其定义范围应尽量缩小,这样将使我们的应用程序更加容易理解和易于控制。在VB应用程序中,只有当没有其他方便途径在窗体间共享数据时才使用全局变量。当使用全局变量时,在一个单一模块中声明它们,并按功能分组,给模块取一个有意义的名字。较好的编码习惯是尽可能地用模块化的代码。除了全局变量,过程和函数应该仅对传递给它们的的对象操作。在过程中使用的全局变量应该在过程起始处的声明部分标识出来。变量的作用范围前缀如下:全局g(global),模块级m(model),本地过程不需要使用。例如:gintFlag表示全局整型变量,mstrPassword可表示模块级字符型变量。
      2.2声名所有变量的原则
              声明所有变量将会节省编程时间,键入错误将大大减少,我们可在程序开始写上如下语句:Option Explicit  该语句要求在程序中声明所有变量。
               2.3变量数据类型声明
              可通过下面的前缀来作为常用变量的数据类标志。
    Boolean Byte Double Integer String
    bln byt dbl int str
               2.4对变量,函数或过程名作出描述
              变量或过程名的主体应该使用大小写混合的形式,并且应该有足够长度以描述它的作用。而且函数名应以一个动词开头,如初始化表格可写成LoadGrid()
          二.结构化编码约定
            除了上述的约定外,结构化的程序风格对于我们实际编程也很有意义,可极大地改善代码的可读性。结构化编码约定主要有代码注释和一致性缩进。
    1。代码注释约定
             所有的过程和函数都应该以描述这段过程的功能的一段简明的注释开始,说明该程序是干什么的,至于是如何做的,也就是编程的细节,最好不要包括。因为日后我们可能要修改程序,这样做会带来不必要的注释维护工作,如果不修改,就将提供误导信息,可能成为错误的注释,因为代码本身和后面程序中的注释将起到相应的说明作用。
                 过程中的注释块应该包括如下标题:
              小节:描述内容
              目的:该过程完成什么
              假设:列出每个外部变量、控件、打开文件或其他不明显元素
    效果:列出每个被影响的外部变量、控件或文件及其作用(只有当它不明显时)
    输入:每一个可能不明显的参数
    返回:函数返回值的说明
             2.格式化代码
              (1)标准的,基于制表位的嵌套应该包括一个嵌注释,用来描述该变量的使用。
              (2)变量、控件及过程的命名应该足够清楚,使得只有复杂的执行细节才需要嵌入注释。
              (3).bas 模块包含工程的VB一般常量声明,在其起始处,应包括程序的综述,列举主要数据对象,过程、算法、对话、数据库及系统需求。  你的代码运行效率如何?
    当你编写好一个程序,所有的代码都顺利地调试通过时,我想你肯定会欣喜若狂的。但不知你有没有考虑过程序的运行效率?与其它编程语言相比较,VB简单易学、功能强大,但其代码运行效率低下,因此,对程序代码进行优化是十分必要的。下面总结我在编程过程中的一些经验,仅供大家参考。
    (1) 尽量避免使用Variant变量
          Variant变量是VB的缺省变量类型,程序中凡是未加类型说明的变量均被认为是Variant变量,Variant变量是一种变体型变量,它能够存放各种数据类型,可以放入数值、字符串、布尔值及日期等任何数据,其数据类型由最近放入的值决定。使用这种变量对于处理速度不成问题的应用程序来说,是非常方便的。然而,如果想提高应用程序的实际速度,就要避免使用变体型变量。因为,在运行时Variant将转化为适当的数据类型,而转化的过程是需要时间的。如果直接采用其它简单的数据类型,就可以避免不必要的类型转换操作而加快应用程序的速度;另外,每个Variant变量都要占用16位+1个类型位的存储空间,比其他数据类型都要多得多。避免使用Variant变量的办法是在每个模块前加上Option Explicit语句,这样所有的变量在使用前都必须进行声明。这样设置以后,如果程序中使用了未加声明的变量,在运行时VB就会弹出对话框来提醒你。
    (2) 选用最适当的数据类型
       程序中要尽量避免使用Currency、Single和Double变量,并尽量使用Long整型变量,尤其在循环体中。因为Long整型变量是32位CPU的本机数据类型,所以其操作非常快。如果无法使用Long变量,就要尽量使用Integer或Byte数据类型。很多时候,即使在要求使用浮点数的情况下,也可以使用Long整型变量。例如,在窗体和图形控件的ScaleMode属性设置为像素时,就可以在控件和图形方法中使用Long整型变量表示大小和位置。
    进行除法运算时,结果如果不需要小数部分,就可以使用整数除法运算符(\)。由于浮点运算需要转移到协处理器上进行,而整数运算并不需要,所以整数运算总是比浮点运算快。如果确实需要做小数运算,则应选取相对较快的数据类型。在VB中各种数值数据类型的运算速度顺序如下(由快到慢):Long>Interge>Byte>Single>Double>Currency。
     (3)将常用的属性值、函数返回值缓存在变量中
        一般来说,变量的处理速度比同类型的属性处理速度快许多,因此,如果经常用到某一属性值(如在循环体中),应该先将该属性值赋与某一变量,以后用该变量代替该属性,这样就能够提高代码的速度。比如,像这样的代码就比较慢:
     For I=0 to 10
    Label(I).left=text1.left
    Next I
         下面改写的代码就要快得多:
               Labelleft=text1.left
               For I =0 to 10
                 Label(I).left=labelleft
               Next I
    同样,对于函数的返回值,也可用变量暂存其返回值,避免经常调用运行的动态链接库,这样会大幅度地提高速度。如:某程序中多次用到mid(text1.text,1,5),则可先用一变量Tempstring保存Mid(text1.text,1,5)的值,之后凡是用到该值的地方一律用Tempstring代替。
        (4) 回收被字符串或对象变量用过的空间
            当过程结束时,可自动回收(非静态)局部字符串和数组变量所用空间。但是全局变量和模块级的字符串和数组变量一直存活到整个程序结束。要想应用程序尽量小,就得尽可能回收这些变量所用空间。将0长度字符串赋给字符串变量,可回收其空间。如: 
           HelloStr=""
        (5)尽量减少加载窗体的数目 
         每增加一个窗体,无论大小与否,是否加载,都要占有一定数量的内存。我们可以在实际工作中遵循以下原则,只在需要显示窗体时才加载,不再需要时就卸载它,而不仅仅是隐藏或最小化。这就需要我们在调用时注意对窗体属性、控件和方法的引用。
             卸载窗体时我们一般使用UnLoad方法,其实这样只能释放部分窗体所占空间。要释放所有空间,可使用“Set Form=Nothing”语句。尽可能地在在窗体的Form_Load事件中放置少量的代码,可以明显加快窗体显示速度。    (6)慎用控件
             在控件的使用上应当把握如下原则:在同一控件数目较多时,尽量采用数组形式。大家不妨做如下的例子:使用12个文本框控件的窗体编译EXE文件,大小约20K字节,但将这些文本框控件用数组的形式完成只有16K,可节约25%的代码。这可不是个小数目。再者要根据程序的特点,尽量选择占有空间较小的控件,如果可以用标签控件来解决,尽量不要用文本框解决。因为VB中的各种控件大小不一,但它们有一些特性是相同的,在使用时,我们要选择那些功能相对少,但对解决我们的问题却绰绰有余的控件。
        (7)防止程序自身多次运行
            由于WINDOWS的多任务处理功能, 有些程序可能打开后忘记了,下次用时还可能再打开,这样做会占用系统资源降低系统效率。为了防止自身被多次运行,可利用VB应用对象提供的PrevInstance属性来检测内存中是否已有一个自身的副本,若有则给出提示后结束。一般将检测代码放在FORM_LOAD()中,因为程序一运行就要检测。代码如下:
              sub form_load()
    If App.PrevInstance then
    msg$=App.exename & ”has already run”
    msgbox msg$,48 ’给出程序已运行的提示和一惊叹号以示警告
    End
    End if
    End sub
        (8)格式化输入
         在数据输入过程中,有些数据要求一定的格式,比如限制输入的只能为数字或英文字符,这可用VB的格式输入文本框来实现。它与文本框(TEXT BOX)功能基本相似,但多了一个MASK属性,MASK属性常用的设定如下:
    #—限定仅能输入数字0~9;
    A— 限定输入为英文字符及数字;
    ?—限定仅能输入英文字符;
    .—限定小数点位置;
    :—限定时间分隔号;
    /—限
      

  8.   

    [名称]           用户界面设计风格说明上[源代码内容]1引言
    1.1设计说明
    本文档是对系统界面设计风格进行描述,和用户交互的最终界面在《详细设计说明书》中设计和解释。1.2概念和定义
    用户界面:又称人机界面,实现用户与计算机之间得通信,以控制计算机或进行用户和计算机之间得数据传送得系统部件。
    GUI:即图形用户界面,一种可视化得用户界面,它使用图形界面代替正文界面。1.3用户假定
    将使用本系统的用户定义为:对应用程序或计算机的一般用法有一定了解,用户希望界面符合WINDOWS9X特别是OFFICE97风格,对易用性、简洁性有比较高的要求,对界面快速交互没有很强的要求(即不希望通过命令方式快速交互)。2用户界面设计规范
    2.1用户界面设计原则
    本系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明:用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统。
    界面设计员应该明白软件中用户是所有处理的核心,不应该有应用程序来决定处理过程,所以用户界面应当由用户来控制应用如何工作、如何响应,而不是由开发者按自己的意愿把操作流程强加给用户。
    界面设计必须经过确认才能完成。2.2界面一致性
    在界面设计中应该保持界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。
    1)显示信息一致性标准 
    (1)标签提示:字体为不加重、宋体、黑色、灰底或透明、无边框、右对齐、不带冒号、一般情况为五号(10号); 
    (2)日期:正常字体、宋体、白底黑字、3-D lowered;
    (3)对齐方法:
    l 左对齐:一般文字、单个数字、日期等
    l 右对齐:数字、时间、日期加时间。 
    (4)分辨率为800*600,增强色16色
    (5)字体缺省为宋替、五号、黑色
    (6)底色缺省采用灰色
    这些信息的排列显示风格供参考, 在同一个应用中,这些信息的表现方式不一致,会使得用户分散注意力,影响这一软件的使用,因此开发者应当注意在同一软件中表现形式的一致性。
    2)布局合理化原则
    应注意在一个窗口内部所有控件的布局和信息组织的艺术性,使得用户界面美观。
    在一个窗口中按tab键,移动聚焦的顺序不能杂乱无章,tab 的顺序是先从上至下,再从左至右。一屏中首先应输入的和重要信息的控件在tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。 布局力求简洁、有序、易于操作。
    3)鼠标与键盘对应原则
    应遵循的是可不用鼠标的原则:应用中的功能只用键盘也应当可以完成,即设计的应用中还应加入一些必要的按钮和菜单项。
    但是,许多鼠标的操作,如双击、拖动对象等,并不能简单地用键盘来模拟即可实现。例如在一个列表框中用鼠标双击其中一项可以表示选中该项内容。为了用键盘也能实现这一功能,必须在窗口中定义一个表示选中的按钮,以作为实现双击功能的替代(或其它方式)。又如在一个窗口中有两个数据窗口,可以用鼠标从一个数据窗口中将一项拖出然后放到另一个中。如果只用键盘,就应当在菜单中设置拷贝或移动的菜单项。 
    4)快捷键
    在菜单项中使用快捷键可以让使用键盘的用户操作得更快一些,在西文Windows及其应用软件中快捷键的使用大多是一致的。本系统中应用的快捷键在各个配置项上语义必须保持一致。
    面向事务的: 
    l Ctrl-D 删除 
    l Ctrl-F 寻找 
    l Ctrl-I 插入 
    l Ctrl-N 新记录 
    l Ctrl-S 保存 
    查询/列表: 
    l Ctrl-O 
    l Ctrl-R 
    其它: 
    l Ctrl-C 拷贝 
    l Ctrl-H 帮助 
    l Ctrl-P 打印 
    l Ctrl-V 粘贴 
    l Ctrl-W 关闭 
    l Ctrl-X 剪切 
    MS Windows保留键: 
    l Ctrl-Tab 下一窗口 
    l Ctrl-Esc 任务列表 
    l Ctrl-F4 关闭窗口 
    l Alt-F4 结束应用 
    l Alt-Tab 下一应用 
    l Enter 缺省按钮/确认操作 
    l Esc 取消按钮/取消操作 
    l Shift-F1 上下文相关帮助 
    其它快捷键
    其它快捷键使用汉语拼音的开头字母,不常用的可以没有快捷键。 
         以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-11 15:36
               软件版本: 1.0.751
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729
    [名称]           用户界面设计风格说明下[源代码内容]2.3向导(WIZARD)使用原则
    对于应用中某些部分的处理流程是固定的,用户必须按照指定的顺序输入操作信息,为了使用户操作得到必要的引用应该使用向导,使用户使用功能时比较轻松明了,但是向导必须用在固定处理流程中,并且处理流程应该不少于3个处理步骤。2.4系统响应时间
    系统响应时间包括两个方面:时间长度和时间的易变性。用户响应时间应该适中,系统响应时间过长,用户就会感到不安和沮丧,而响应时间过短有时会造成用户加快操作节奏,从而导致错误。系统响应时间的易变性是指相对于平均响应时间的偏差。即使响应时间比较长,低的响应时间易变性也有助于用户建立稳定的节奏。因此在系统响应时间上坚持如下原则:
    响应时间长度               界面设计
    0-10 秒                       鼠 标 显 示 成 为 沙 漏
    10 到18 秒               由微帮助来显示处理进度
    18 秒 以 上                   显示处理窗口,或显示进度条
    一个长时间的处理完成时       应给予完成警告信息
    响应时间的易变性             界面设计
    用户感觉不到                     不考虑
    用户稍微感觉到                     由微帮助提供易变性说明
    容易性大而且时间绝对差别大          显示易变性提示 2.5用户帮助设施
    常用的帮助设施有两种:集成的和附加的。集成的帮助设施一开始就是设计在软件中的,它与语境有关,用户可以直接选择与所要执行操作相关的主题。通过集成帮助设施可以缩短用户获得帮助的时间,增加界面的友好性。附加的帮助设施在系统建好以后再加进去的。通常是一种查询能力比较弱的联机帮助。
    本系统提供这两种帮助设施,设计和实现时遵循以下原则:
    1) 进行系统交互时,提供部分帮助功能,即:提供主要操作的帮助
    2) 用户可以通过帮助菜单、F1键和帮助按钮(如果有的话)访问帮助
    3) 表示帮助时根据需要提供三种方式的选择:另一个窗体、微帮助和指出参考某个文档
    4) 用户如何回到正常交互方式有两种选择:返回键和功能键
    5) 帮助信息的构造:采用分层式帮助
    6) 微帮助提供:由状态栏提供,或控件上的提示文本2.6出错信息和警告
    出错信息和警告是指出现问题时系统给出的坏消息,本系统对于出错信息和警告应该遵循以下原则:
    1) 信息以用户可以理解的术语描述;
    2) 信息应提供如何从错误中恢复的建设性意见;
    3) 信息应指出错误可能导致那些不量后果,以便用户检查是否出现了这些情况或帮助用户进行改正;
    4) 信息应伴随着视觉上的提示,如特殊的图像、颜色或信息闪烁。
    5) 信息不能带有判断色彩,即任何情况下不能指责用户2.7命令交互
    由于本系统用户是WINDOWS用户,故本系统不提供命令交互。2.8一般交互原则
    本系统一般交互遵循以下原则:
    1) 一致性:菜单选择、数据显示以及其它功能都应使用一致的格式。
    2) 提供有意义的反馈
    3) 执行有较大破坏性的动作前要求确认
    4) 在数据录入上允许取消大多数操作
    5) 减少在动作间必须记忆的信息数量
    6) 在对话、移动和思考中提高效率
    7) 允许用户非恶意错误,系统应保护自己不受致命作物的破坏
    8) 按功能对动作分类,并按此排列屏幕布局,设计者应那里提高命令和动作组织的内聚性
    9) 提供语境相关的帮助机制2.9信息显示原则
    本系统信息显示遵循以下原则:
    1) 只显示与当前用户语境环境有关的信息;
    2) 不要用数据将用户包围,使用便于用户迅速吸取信息的方式表现信息;
    3) 使用一致的标记、标准缩写和可预测的颜色,显示信息的含义应该非常明确,用户不必再参考其它信息源;
    4) 产生有意义的出错信息,见2.6;
    5) 使用缩进和文本来辅助理解;
    6) 使用窗口分隔控件分隔不同类型的信息;
    7) 高效地使用显示器的显示空间。2.10数据输入原则
    本系统数据输入遵循以下原则:
    1) 尽量减少用户输入动作的数量;
    2) 维护信息显示和数据输入的一致性;
    3) 交互应该时灵活的,对键盘和鼠标输入的灵活性提供支持;
    4) 在当前动作的语境中使不合适的命令不起作用;
    5) 让用户控制交互流,用户可以跳过不必要的动作、改变所需动作的顺序(如果允许的话)以及在不退出系统的情况下从错误状态中恢复;
    6) 为所有输入的动作提供帮助,见2.5;
    7) 消除冗余输入。可能的话提供缺省值、绝不要让用户提供程序中可以自动获取或计算出来的信息。3用户界面设计更改和追加说明
    3.1更改说明
    更改本用户界面设计时应该征得所有开发者的同意,所有开发者应该按更正后的原则修改和设计用户界面。3.2追加说明
    追加本用户界面设计时应该发布给所有开发者,所有开发者应该按追加后的原则修改和设计用户界面。4其它
    无。
         以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-11 15:36
               软件版本: 1.0.751
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729
      

  9.   

    [名称]           界面设计原则和编程技巧上[语言种类]       各种文档[类别一]         界面[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-05-23[关键字一]       设计[关键字二]       原则[关键字三]       技巧[内容简介]
     VB中的界面设计原则和编程技巧
     
     
    作者: virtualboy [源代码内容]Windows的通用图形界面的出现,使计算机用户不必通过专门的学习就可以得心应手地使用各种Windows的软件。不仅如此,它还是程序设计者在设计Windows程序界面时所必须遵循的标准,这在很大程度上减轻了程序设计者的负担,使他们能够把主要精力放在问题的求解和实现上。   Visual Basic(以下简称VB)的出现,更加简化了Windows程序界面的设计工作,只需要极少量的代码,就能实现标准Win-dows应用程序的界面。但是,如果不了解Windows程序界面设计的原则,或者不熟悉VB下界面编程的技巧,就难以设计和实现既符合一般标准又具有特色的界面。 
    界面设计的原则 
      界面设计具有一般性的原则,最为重要的有: 1.界面要具有一致性。一致性原则在界面设计中最容易违反,同时也最容易修改和避免。例如,在菜单和联机帮助中必须使用相同的术语;对话框必须具有相同的风格等。 2.常用操作要有捷径。常用操作的使用频度大,应该减少操作序列的长度。例如,为文件的常用操作如打开、存盘、另存等设置快捷键。使常用操作具有捷径,不仅会提高用户的工作效率,还使得界面在功能实现上简洁和高效。 3.提供简单的错误处理。系统要有错误处理的功能。在出现错误时,系统应该能检测出错误,并且提供简单和容易理解的错误处理功能。错误出现后系统的状态不发生变化,或者系统要提供错误恢复的指导。 4.提供信息反馈。对操作人员的重要操作要有信息反馈。对常用操作和简单操作的反馈可以不作要求,但是对不常用操作和至关重要的操作,系统应该提供信息的反馈。 5.操作可逆。操作应该可逆。这对于不具备专门知识的操作人员相当有用。可逆的动作可以是单个的操作,或者是一个相对独立的操作序列。 6.设计良好的联机帮助。虽然对于熟练用户来说,联机帮助并非必不可少,但是对于大多数不熟练用户来说,联机帮助具有非常重要的作用。 菜单设计的原则和编程 
    菜单设计有如下的一般性原则: 按照系统的功能来组织菜单。 要选用广而浅的菜单树,而不是窄而深的菜单树。 根据菜单选项的含义进行分组;并且按一定的规则排序。 菜单选项的标题要力求文学简短、含义明确,并且最好以关键词开始。 常用选项要设置快捷键。 结合以上的原则,菜单编程有以下几方面的技术和技巧: 菜单选项的分组   在VB中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个Ca ption属性为"-"的菜单项,它在菜单上就表现为一条横线。在许多情况下,同一个功能菜单下又可以按照菜单选项的功能分为几组,这时就可以用分隔横线来实现菜单项的分组。 
         以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-11 15:37
               软件版本: 1.0.751
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729
    [名称]           界面设计原则和编程技巧下[语言种类]       各种文档[类别一]         界面[类别二]         空[类别三]         空[数据来源]       未知[保存时间]       2002-05-23[关键字一]       设计[关键字二]       原则[关键字三]       技巧[内容简介]
     VB中的界面设计原则和编程技巧
     
     
    作者: virtualboy [源代码内容]常用选项快捷键的设置   打开菜单设计窗口(Menu Design Window),应对于每个菜单选项有相应的快捷键(Short cut)列表,在该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照Windows的界面设计原则,顶层菜单的快捷键的形式是Alt+字母键。   对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用CTRL+O,文件存盘用CRTL+S,打印用CTRL+P,等等。   为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。 菜单选项的使能与禁止、可见与隐藏   为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变该选项的Enabled属性实现的。举例来说,假设菜单选项名为mnuName,则禁止该选项可以这样实现: mnuName.Enabled=False 同理,隐藏一个选项可以用: mnuName.Visible=False 而使一个隐藏的选项恢复可见则用 mnuName.Visible=True 菜单项的隐藏与恢复可见常用在动态菜单的实现中。 菜单项的动态装入   菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件菜单中出现;打开一个文件后,该列表不再是空的,并且文件菜单中出现代表被打开文件的菜单项。   在上面的例子里,就综合运用了菜单项的下标属性(Index)、标题属性(Caption)、可见属性(Visible)以及菜单项的装入方法(Load Method)。 具体的实现过程如下: 在文件菜单里增加一个菜单项,标题任意,并假设菜单项的Name属性是opened_files_ list; 更改菜单项opened_files_list的可见属性,使 opened_files_list.Visible=False 更改菜单项opened_files_list的下标属性,使 opened_files_list.Index=0 在程序中控制菜单项opened_files_list的动态装入。 假设要显示打开过的第二个文件的文件名,并且该文件名存放在一个文件名数组opened _file_name里。需要注意的是,对于下标为0的菜单项,不能用Load方法。因为在程序执行时,该菜单项就已经被装入到内存里了;另外,在菜单项的标题属性字符里的"&"字符具有特殊的含义,它的作用是在显示该属性字符串的同时,并不显示"&"本身,而紧跟"&"的字符在显示时具有下划线, 并且该字符成为热键。   如果下标不为0的菜单项不再需要,为了减少对内存资源的占用,可以用Un-load方法把它从内存卸出;同样地,不能用Unload卸出下标为0的菜单项。 弹出式菜单的实现   VB中在菜单设计窗口中设计的菜单是下拉式菜单。下拉式菜单是用户在任何时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。   Windows程序的弹出式菜单一般是当用户在程序的桌面上点按鼠标键时出现的。弹出式菜单多用于实现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。   在VB中,弹出式菜单的实现要用到下拉式菜单设计的技术和PopupMenu方法。具体的做法是:   在菜单设计窗口里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单必须至少有一个子菜单;因而这个菜单不能有快捷键,并且Checked属性必须是False。再把弹出式菜单的Visible属性改为False。 在具有设计好的弹出式菜单的窗体的Form_Click中加入以下代码(假设弹出式菜单的 Name属性是mnuExam-ple): Sub Form_Click() PopupMenu mnuExample End Sub 如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在Form_MouseDown里加入如下代码: Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Sin-gle,y As Sin gle) If Button=2 then Button=2 表示鼠标右键 PopupMenu mnuExample End If PopupMenu的完整句法是: [Form.]PopupMenu menuname[flags[,x[,y]]] 改变flags的值可以控制弹出式菜单的表现形式。flags有两组值:第一组值用来控制菜单的显示方式,包括POPUP-MENU_LEFTALIGN,POPUPMENU_CENTERALIGN,POPUPMENU_RI-GHTALI GN,分别表示以x为左边界、以x为中心和以x为右边界的显示方式,并且以x为左边界是缺省的方式;另外一组值用来控制菜单项的选中方式,包括POPUP-MENU_LEFTBUTTON和POPUP-MENU_R IGHTBUTTON,分别表示左键选中和左/右键选中均可,并且左键选中是缺省的方式。flags的值由上面的两组值经过OR运算得出。例如,要求左对齐显示并且左键选中为准,则应有: flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTON x和y用来定义菜单弹出的位置,缺省是鼠标点中的位置。 菜单项的其他属性 用ALT+字母键激活顶层菜单,或者在菜单激活后用字母键激活一个菜单项,必须学会使用 &。&用在菜单项的标题属性(Caption)里。它的用法和作用与在用C语言编制的Windows程序中的用法和作用相同。 有时希望顶层菜单之间的间隔大一些,或者某个顶层菜单出现在菜单条的最右端,这时就要用到标题属性是空格的菜单。如果一个菜单的标题是由多个空格组成的,那么这个菜单在菜单条上就占用跟空格的个数相应的空间,并且它后面的菜单也顺序地后移;如果这个菜单的 Visible属性是False,那么它就跟不存在一样。 
         以上代码保存于: SourceCode Explorer(源代码数据库)
               复制时间: 2002-11-11 15:37
               软件版本: 1.0.751
               软件作者: Shawls
               个人主页: Http://Shawls.Yeah.Net
                 E-Mail: [email protected]
                     QQ: 9181729