1、顯示窗體:
1 2 3 4 5 | Sub ShowForm() Load InputForm '加載“InputForm”窗體 '加載窗體就是初始化窗體,為窗體分配內存,但不顯示窗體。 InputForm.Show '顯示“InputForm”End Sub |
如果在調用窗體的Show方法之前沒(méi)有加載窗體,Excel會(huì )自動(dòng)加載該窗體,然后再顯示它。
所以,在程序中使用代碼顯示一個(gè)窗體,通常直接調用Show方法,而省略了加載的語(yǔ)句。
1 2 3 | Sub ShowForm() InputForm.Show '顯示“InputForm”End Sub |
Sub ShowForm() InputForm.Show '顯示“InputForm” End Sub
2、設置窗體的顯示位置 默認情況下,顯示一個(gè)窗體后,Excel會(huì )將其顯示在Excel窗口的中心位置,但也可以通過(guò)設置屬性來(lái)定義其顯示位置。 例如: (備注:要自定義窗體顯示在屏幕上的位置,應先將窗體的StartUpPosition屬性設為0,這樣才能設置)
1 2 3 4 5 6 7 8 | Sub ShowForm11() With InputForm .StarUpPosition = 0 '設置窗體初次顯示時(shí)的位置由用戶(hù)定義 .Top = 100 '設置窗體頂端離屏幕窗口頂端的距離 .Left = 200 '設置窗體左端離屏幕窗口左端的距離 .Show End WithEnd Sub |
3無(wú)模式窗體和有模式窗體 模式窗體不能操作窗體之外的對象;程序將暫時(shí)停止執行“顯示窗體”命令之后的代碼,直到關(guān)閉或者隱藏窗體, 并且只有關(guān)閉或者隱藏窗體之后,才可以操作窗體外的其他對象。 將名稱(chēng)為InputForm的窗體顯示為模式,代碼如下:
InputForm.Show
或者: InputForm.Show vbmodal
通過(guò)菜單命令或直接調用窗體的Show方法顯示的都是模式窗體,所以,如果想將一個(gè)窗體顯示為模式窗體,直接調用Show方法顯示這個(gè)窗體就可以了。
無(wú)模式窗體允許進(jìn)行窗體外的其他操作。 要將窗體顯示為無(wú)模式窗體,必須通過(guò)show方法的參數指定,
例如: InputForm.Show vbmodeless
如果將窗體顯示為無(wú)模式窗體,當窗體顯示后,系統會(huì )繼續執行程序中余下的代碼,也允許我們操作窗體之外的其他對象。
4關(guān)閉或隱藏已顯示的窗體 關(guān)閉窗體最簡(jiǎn)單的方法就是單機窗體右上角的【關(guān)閉】按鈕。 關(guān)閉窗體的代碼如下: Unload InputForm 或者: Unload Me “Unload 窗體名稱(chēng)”可以關(guān)閉任意的窗體。但是使用“Unload Me”只能關(guān)閉代碼所在的窗體。
如果只是想隱藏而不是關(guān)閉窗體,可以使用窗體對象的Hide方法。
語(yǔ)法如下: 窗體名稱(chēng).Hide
或者: Me.Hide
關(guān)閉和隱藏窗體的區別: 用Unload InputForm語(yǔ)句關(guān)閉窗體不但會(huì )將窗體從屏幕上刪除,還會(huì )將其從內存中卸載。 當窗體從內存中卸載后,窗體及窗體中的控件都將還原成最初的值,代碼將不能操作或訪(fǎng)問(wèn)窗體及其中的控件,也不能再訪(fǎng)問(wèn)保存在窗體中的變量。 如果使用Hide方法隱藏窗體,只會(huì )將窗體從屏幕上刪除,但窗體依然被加載在內存中。此時(shí),依然可以訪(fǎng)問(wèn)窗體中控件的屬性。
聯(lián)系客服