窗體Form物件

2021-06-18 13:01:14 字數 4665 閱讀 5651

★ print方法是在窗體上顯示輸出,可輸出文字,數值,屬性,變數等(輸出多項用分號或逗號隔開)。 例:

private sub command1_click()

dim d

for d = 1 to 10

fontsize = 10 + d

print "hello,world"; d

next d

end sub

★ vb中如何實現滿屏顯示?(如遊戲啟動時的黑暗清屏效果):

1.設定form窗體的windowstate屬性為2--最大化。

2.設定form窗體的borderstyle屬性為0--無標題欄(注:這項設定只能在屬性視窗中設定,**中設定無效。)

這樣就可以滿屏顯示了,如果要象遊戲那樣的黑屏,還要設定form窗體的backcolor屬性為黑色(在屬性視窗中選,如果在**中寫,為rgb(0,0,0)。)

★ 窗體的popupmenu方法:顯示彈出式選單。格式:

窗體名.popupmenu 彈出式選單名

注:彈出式選單名所指選單必須含有至少乙個子選單。

★ form窗體的maxbutton屬性:'最大化'按紐是否有效。

minbutton屬性:'最小化'按紐是否有效。

★ form的controlbox屬性:是否在窗體上顯示系統選單和最大最小關閉紐。

★ form的borderstyle屬性:為0:無標題欄;為1:無最大最小化紐,且大小不可變;為2:預設;為3:無最大最小化紐,且大小不可變;為4:標題欄縮小,且大小不可變;為5:標題欄縮小,可變大小。

★ form窗體mdichild屬性,窗體是否設定為mdi窗體的子窗體。

★ 建立多文件介面:在乙個窗體中包含許多其他的子窗體,象windows,vb等本身就如此。多個子窗體都嵌入到乙個叫mdi的父窗體裡,每個mdi應用程式只有乙個父窗體,在"工程"選單中選"新增mdi窗體"(因每個程式中只能有乙個父窗體,因此新增乙個mdi窗體後該選單項自動失效),然後將普通窗體form1,form2等的mdichild屬性設為true,它們就成了子窗體,載入時會在mdi窗體內部出現,當然首先要進行載入,程式啟動時只會自動載入乙個form1窗體,因此要在"工程"選單"工程1屬性"對話方塊中將"啟動物件"改為"mdiform1"(父窗體),並在mdiform1_load()事件中將子窗體載入,如:

private sub mdiform_load()

load form1 (這裡mdiform窗體的autoshowchildren屬性為true,

load form2 故不用再寫form.show也會顯示出兩個窗體。)

end sub

★ 建立窗體form陣列:例如在標準模組中寫:public lxn(10) as new form1,這樣就以form1為樣本建立了乙個窗體陣列,含11個元素,只要用lxn(1),lxn(2)...來表明即可,如寫load lxn(5)便可載入乙個進記憶體來。

★ 在乙個mdi視窗中如何布置多個子窗體的有序擺放?用mdiform1的arrange方法,格式:

mdiform1.arrange 0或1或2 例:mdiform1.arrange 2

其中,0表示層疊其中的子窗體;1表示水平平鋪其中的子窗體(把mdiform1分成如"目"字形);2表示垂直平鋪其中的子窗體(看起來象"皿"形)。

★ 如何設定程式的圖示?在屬性視窗中確定啟動窗體的icon屬性,選乙個能反映程式內容的合適圖示,加入窗體標題欄左上角就可以了。生成exe檔案時也就會沿用此圖示。注意:不能在**中設定窗體的icon屬性,只能在屬性視窗。否則圖示不會變成程式的乙個固有部分。

★ mdi窗體程式點滴:1,父窗體的autoshowchildren屬性:執行時是否自動顯示記憶體中已載入的子窗體(即只用了load而未用show)。 2,子窗體如果有選單,執行時不顯示在子窗體本身上,執行中當它成為活動窗體時,選單將顯示在mdi窗體上(mdi窗體本身的選單將隱藏)。3,啟動窗體為子窗體時,會自動載入它的mdi窗體,而啟動窗體如果為mdi窗體,啟動時不會自動載入其子窗體。

★ 窗體物件的scalemode屬性:選擇窗體內部座標系統的度量單位,有7種選項:1為twip:緹;1英吋=1440緹。2為point:點;1英吋=72點;3為pixel:象素;4為字元(1字元等於1/6英吋高,1/12英吋寬);5為英吋;6為mm;公釐,1英吋=25公釐;7為cm厘公尺,1英吋=2.5厘公尺。另外,還有0使用者自定義單位。

還可以在**中自定義度量單位的大小(自定義座標系統),用scale方法:

容器物件名.scale(自定左上角x1,y1)-(自定右下角x2,y2)

picture1.scale(50,50)-(150,150)

說明:用了這一句後,在該容器物件內部,度量座標發生改變:橫軸範圍從x1到x2,

縱軸範圍從y1到y2.也就是將現有容器寬分成(x2-x1)份,其值作為容器scalewidth屬性值,每1份作為橫向度量單位;將現有容器高分成(y2-y1)份,值為其scaleheight屬性值,每1份作為縱向度量單位。注:1,如果容器的大小以後被調整,這些單位大小不變。2,容器左上角座標(內部"原點"座標)是(x1,y1),如上例為(50,50),而不是(0,0)。它標明在容器的scaleleft和scaletop屬性中。3,容器中每點的座標總在(x1,y1)到(x2,y2)之間.

★ form窗體的showintaskbar屬性:程式執行時是否在工作列上顯示。

★ form窗體的borderstyle屬性設定為1,3或4時其大小執行時不可變。

★ moveable屬性:設定執行時窗體是否可移動。

★ vb程式的介面樣式除mdi多文件和sdi單文件樣式,還有一種叫"資源管理器"樣式的介面。

★ 在乙個窗體解除安裝關閉時,我們知道會發生unload事件,事實上,在unload事件發生前,另乙個重要事件會發生,即form_queryunload事件,在此事件中,為使用者提供停止解除安裝繼續工作的機會,如下:

private sub form_queryunload(cancel as integer, unloadmode as integer)

end sub

其中有兩個引數:cancel:若設此引數為true,可阻止unload事件發生。

unloadmode:返回引起窗體解除安裝關閉的原因:0為使用標題欄"關閉"("關閉"紐或標題欄的系統選單欄),1為**中用unload me語句,2為windows環境會話結束;3為windows任務管理器關閉程式;4為mdi子窗體關閉。

在窗體的存在週期中,發生的窗體事件依次為:form_initialize->form_load->form_resize->form_activate->form_gotfocus->form_paint->form_queryunload->form_unload->form_terminate.

★ 我們經常用unload me來關閉乙個窗體,但此命令並不能將乙個窗體從記憶體中完全清除,要想完全移走窗體,應將窗體設定為nothing,即在form_unload事件中寫:set form1=nothing

★ form窗體或picture物件的paint事件:物件因移動或放大,或被覆蓋重新顯示而需要重畫的時候,就會引發paint事件,在各種圖形方法的輸出過程中,paint事件很有用。乙個"水平平鋪"畫面的例子:

private sub form_load()

image1.picture = loadpicture("c:\我的文件\my webs\紅樓夢1.bmp")

end sub

private sub form_paint()

for x = 0 to form1.width step image1.width

for y = 0 to form1.height step image1.height

paintpicture image1, x, y 在form窗體內畫多個(平鋪)image1的圖象

next y

next x

end sub

上面paintpicture方法是畫圖,以前講的時候好多引數,此例是最簡化的情況了。都用預設值,寫出來是:form1.paintpicture image1.picture, x,y, image1.width,image1.height,0,0,image1.width,image1.height,vbsrccopy

新增窗體:"工程"選單"新增窗體"選單項。

窗體間能自由切換的是"非模態窗體",乙個窗體在螢幕上顯示後,使用者必須做出響應的是"模態窗體",否則它就一直得到輸入焦點。

在**中將新窗體裝入記憶體的格式: load 窗體名稱

從記憶體中解除安裝窗體的格式: unload 窗體名稱

顯示已裝入的窗體的格式: 窗體名稱. show 0或1(0為非模態形式,1為模態形式)

隱藏已裝入的窗體的格式: 窗體名稱. hide

窗體form物件的windowstate屬性:選定窗體啟動時的大小(0為正常,1為最小化,2為最大化

幾行簡例: load form2

form2.label1.caption = "abcde"

form2.show

★ 在mdi窗體中只能包含選單和pictrue控制項,如果要放置其他控制項,就將它們放在picture裡面好了。

★ mdi窗體的屬性方法和事件:activecontrol屬性:返回當前擁有焦點的控制項。activeform屬性:返回當前活動子窗體。因此可用activeform.activecontrol來引用當前活動子窗體上的具有焦點的控制項,比如在mdi窗體的選單"複製"命令中,複製正在使用的某個子窗體上文字框中的文字:clipboard.settext activeform.activecontrol.seltext

Form窗體的監控

應用情形 winform中,有乙個登陸介面,乙個選單介面,然後就是處理業務介面,我們通過登陸介面跳轉到選單介面,然後通過選單選擇操作介面,那麼如何讓幾個窗體的出現和關閉流暢?下面 給出了解釋 form1為第乙個窗體,在form1中開啟form2,並監測form2的關閉事件,如果2關閉,則1恢復顯示或...

表單 Form 物件

1 將form表單元素的name與value進行組合,實現表單資料的序列化,從而減少表單元素的拼接,提高工作效率。2 非同步上傳檔案 一 建立formdata物件 1 建立乙個空物件 通過formdata建構函式建立乙個空物件 var formdata newformdata 通過get方法對值進行...

窗體Form1和Form2 傳值

背景 窗體form1和form2 form2由form1開啟 1 模式窗體 2 非模式 要求 form2的textbox值傳回form1的textbox中 方法 情況一 模式窗體 form1 showdialog 開啟form2 view plaincopy to clipboardprint?fo...