創(chuàng)建標(biāo)準(zhǔn)表單
假設(shè)有一個你要經(jīng)常使用的表單,比如說,在表單的左上角有一個日歷控件。為了更容易地建立這種表單,可以按照你需要的建立一個實例,放置上日歷控件,設(shè)置好它的屬性,等等。
然后,將這個表單保存在模板目錄下,比如:C:Program FilesMicrosoft Visual StudioVb98TemplateForms。
現(xiàn)在,從工程菜單中選擇“添加表單”,就出現(xiàn)了你剛才建立表單的一個選擇。當(dāng)添加了這個類型的表單后,原本設(shè)置好的屬性也就存在了。
關(guān)于.FRX文件
什么是FRX文件?怎樣編輯它們?沒有它們能夠正常工作嗎?
Visual Basic在FRX文件中保存二進(jìn)制信息,比如,如果你在設(shè)計時間中設(shè)置了一個表單的圖形屬性,Visual Basic就將這個圖形保存在FRX文件中。如果這時刪除了FRX文件,再次打開工程文件時,就會出現(xiàn)錯誤,并且,所有的相關(guān)信息就會丟失了。
如果在設(shè)計時間中替換了表單的圖形屬性,Visual Basic將在FRX文件中做相應(yīng)的修改。但是,單獨地編輯FRX文件卻不是推薦的,因為確實沒有方法。
沒有這些FRX文件實際上不會發(fā)生任何事情,除非在設(shè)計時需要轉(zhuǎn)載二進(jìn)制信息,比如圖形文件。你可以將圖形和其他信息保存在一個資源文件中,然后在運(yùn)行時調(diào)用它,或者,將這些信息單獨存放,再在運(yùn)行時調(diào)用。這個方法不會給你帶來再多的好處,因為程序運(yùn)行時,這些單獨的文件都必須要存在。相反,如果讓Visual Basic保存這些信息到FRX文件中,當(dāng)編譯后運(yùn)行時,這些信息都將被包含在一個獨立的EXE文件中了。
判斷表單是否已經(jīng)被裝載
你可以使用表單集合來判斷含有一定名字的表單是否已經(jīng)被裝載。方法是:循環(huán)遍歷表單集合,比較其中每一個項目與目標(biāo)名字是否匹配:
注釋: 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
表單為什么不在任務(wù)欄出現(xiàn)?
在編程中調(diào)試運(yùn)行時,有時發(fā)現(xiàn)表單不在任務(wù)欄出現(xiàn),這是怎么造成的?可能的原因有以下幾種:
1、ShowInTaskBar被設(shè)置為False
2、表單是MDI子表單
3、表單的BorderStyle是固定大小的對話框
4、表單的BorderStyle是固定大小的ToolWindow
5、表單的BorderStyle是可變大小的ToolWindow
假設(shè)有一個你要經(jīng)常使用的表單,比如說,在表單的左上角有一個日歷控件。為了更容易地建立這種表單,可以按照你需要的建立一個實例,放置上日歷控件,設(shè)置好它的屬性,等等。
然后,將這個表單保存在模板目錄下,比如:C:Program FilesMicrosoft Visual StudioVb98TemplateForms。
現(xiàn)在,從工程菜單中選擇“添加表單”,就出現(xiàn)了你剛才建立表單的一個選擇。當(dāng)添加了這個類型的表單后,原本設(shè)置好的屬性也就存在了。
關(guān)于.FRX文件
什么是FRX文件?怎樣編輯它們?沒有它們能夠正常工作嗎?
Visual Basic在FRX文件中保存二進(jìn)制信息,比如,如果你在設(shè)計時間中設(shè)置了一個表單的圖形屬性,Visual Basic就將這個圖形保存在FRX文件中。如果這時刪除了FRX文件,再次打開工程文件時,就會出現(xiàn)錯誤,并且,所有的相關(guān)信息就會丟失了。
如果在設(shè)計時間中替換了表單的圖形屬性,Visual Basic將在FRX文件中做相應(yīng)的修改。但是,單獨地編輯FRX文件卻不是推薦的,因為確實沒有方法。
沒有這些FRX文件實際上不會發(fā)生任何事情,除非在設(shè)計時需要轉(zhuǎn)載二進(jìn)制信息,比如圖形文件。你可以將圖形和其他信息保存在一個資源文件中,然后在運(yùn)行時調(diào)用它,或者,將這些信息單獨存放,再在運(yùn)行時調(diào)用。這個方法不會給你帶來再多的好處,因為程序運(yùn)行時,這些單獨的文件都必須要存在。相反,如果讓Visual Basic保存這些信息到FRX文件中,當(dāng)編譯后運(yùn)行時,這些信息都將被包含在一個獨立的EXE文件中了。
判斷表單是否已經(jīng)被裝載
你可以使用表單集合來判斷含有一定名字的表單是否已經(jīng)被裝載。方法是:循環(huán)遍歷表單集合,比較其中每一個項目與目標(biāo)名字是否匹配:
注釋: 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
表單為什么不在任務(wù)欄出現(xiàn)?
在編程中調(diào)試運(yùn)行時,有時發(fā)現(xiàn)表單不在任務(wù)欄出現(xiàn),這是怎么造成的?可能的原因有以下幾種:
1、ShowInTaskBar被設(shè)置為False
2、表單是MDI子表單
3、表單的BorderStyle是固定大小的對話框
4、表單的BorderStyle是固定大小的ToolWindow
5、表單的BorderStyle是可變大小的ToolWindow