假設有一個你要經常使用的表單,比如說,在表單的左上角有一個日曆控制項。為了更容易建立這種表單,可以按照你需要的建立一個實例,放置上日曆控件,設定好它的屬性,等等。
然後,將這個表單儲存在範本目錄下,例如: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