首页 > 编程 > Visual Basic > 正文

VB编程步步高-表单篇

2024-09-07 17:32:51
字体:
来源:转载
供稿:网友

   创建标准表单

   假设有一个你要经常使用的表单,比如说,在表单的左上角有一个日历控件。为了更容易地建立这种表单,可以按照你需要的建立一个实例,放置上日历控件,设置好它的属性,等等。

   然后,将这个表单保存在模板目录下,比如:C:Program FilesMicrosoft Visual StudioVb98TemplateForms。

   现在,从工程菜单中选择“添加表单”,就出现了你刚才建立表单的一个选择。当添加了这个类型的表单后,原本设置好的属性也就存在了。

   关于.FRX文件

   什么是FRX文件?怎样编辑它们?没有它们能够正常工作吗?

   Visual Basic在FRX文件中保存二进制信息,比如,如果你在设计时间中设置了一个表单的图形属性,Visual Basic就将这个图形保存在FRX文件中。如果这时删除了FRX文件,再次打开工程文件时,就会出现错误,并且,所有的相关信息就会丢失了。

   如果在设计时间中替换了表单的图形属性,Visual Basic将在FRX文件中做相应的修改。但是,单独地编辑FRX文件却不是推荐的,因为确实没有方法。

   没有这些FRX文件实际上不会发生任何事情,除非在设计时需要转载二进制信息,比如图形文件。你可以将图形和其他信息保存在一个资源文件中,然后在运行时调用它,或者,将这些信息单独存放,再在运行时调用。这个方法不会给你带来再多的好处,因为程序运行时,这些单独的文件都必须要存在。相反,如果让Visual Basic保存这些信息到FRX文件中,当编译后运行时,这些信息都将被包含在一个独立的EXE文件中了。

   判断表单是否已经被装载

   你可以使用表单集合来判断含有一定名字的表单是否已经被装载。方法是:循环遍历表单集合,比较其中每一个项目与目标名字是否匹配:

    注释: Return a form by name if it is loaded.
    Private Function FindForm(ByVal form_name As String) As Form
    Dim i As Integer

        注释: Assume we will not find it.
        Set FindForm = Nothing

        注释: Search the loaded forms.
        For i = 0 To Forms.Count - 1
            If Forms(i).Name = form_name Then
                注释: We found it. Return this form.
                Set FindForm = Forms(i)
                Exit For
            End If
        Next i
    End Function

   表单为什么不在任务栏出现?

   在编程中调试运行时,有时发现表单不在任务栏出现,这是怎么造成的?可能的原因有以下几种:

   1、ShowInTaskBar被设置为False
   2、表单是MDI子表单
   3、表单的BorderStyle是固定大小的对话框
   4、表单的BorderStyle是固定大小的ToolWindow
   5、表单的BorderStyle是可变大小的ToolWindow

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表