詳細(xì)介紹VB.NET Print方法
隨著VB.NET的發(fā)展,用它的人也越來越多,它的功能也隨之強(qiáng)大,這里介紹一下VB.NET Print方法的使用。VB.NET Print方法,可以在容器上輸出內(nèi)容,請看以下一段代碼(command1為按鈕控件)
- Private Sub Form_Load()
- print "VB Print Test"
- END Sub
- Private Sub Command1_Click()
- Print "Command1 Print"
- End Sub
然后運(yùn)行程序,您將會發(fā)現(xiàn)窗體上并沒有顯示出VB Print Test,而當(dāng)單擊Command1按鈕時,將會在窗體上打印出"Command1 Print",而并不是在窗體左上角。為什么窗體啟動后沒有在窗體上打印出"VB Print Test"而單擊按鈕時就會打印出內(nèi)容呢?而且打印在第二行,而不是在最左上角呢?這就與窗體的創(chuàng)建加載過程有關(guān)了。窗體事件事件的執(zhí)行有先后順序,為
- Form_Initialize,Form_Load,Form_Active,Form_GotFocus,
- Form_Paint.....
下面簡單地驗(yàn)證一下這些順序。
- Dim sTemp As String
- Private Sub Command1_Click()
- MsgBox sTemp
- End Sub
- Private Sub Form_Activate()
- sTempsTemp = sTemp & vbCrLf & "Active 事件發(fā)生"
- End Sub
- Private Sub Form_GotFocus()
- sTempsTemp = sTemp & vbCrLf & "GotFocus 事件發(fā)生"
- End Sub
- Private Sub Form_Initialize()
- sTempsTemp = sTemp & vbCrLf & "Initialize 事件發(fā)生"
- End Sub
- Private Sub Form_Load()
- sTempsTemp = sTemp & vbCrLf & "Load 事件發(fā)生"
- End Sub
- Private Sub Form_Paint()
- sTempsTemp = sTemp & vbCrLf & "Paint 事件發(fā)生"
- End Sub
- Private Sub Form_Resize()
- sTempsTemp = sTemp & vbCrLf & "Resize 事件發(fā)生"
- End Sub
#T#點(diǎn)擊Command1后將出現(xiàn)提示框,顯示各個事件先后發(fā)生的次序。這樣就不難明白為什么程序運(yùn)行后不能打印VBPrint Test了,因?yàn)榘裵rint方法放在Load過程中,而Paint事件在Load事件后發(fā)生,窗體重控,所以不能看見VB Print Test了。只要是在Paint事件前用VB.NET Print方法,都不能顯示。不過,只要將Form的AutoRedraw設(shè)置為True,那么將會發(fā)現(xiàn)也能正確打印出VB Print Test;AutoRedraw屬性與Paint事件密切相關(guān)。