新聞中心
VB.NET控件的一些事件的觸發(fā)順序是什么
一個一個回答吧。
創(chuàng)新互聯(lián)公司專注于壽光網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供壽光營銷型網站建設,壽光網站制作、壽光網頁設計、壽光網站官網定制、微信小程序開發(fā)服務,打造壽光網絡公司原創(chuàng)品牌,更為您提供壽光網站排名全網營銷落地服務。
1、CheckBox 的 MouseDown 事件發(fā)生在 CheckedChange 事件之前,但這是指在單步調試的狀態(tài)下,事實上在編譯好的程序中,這兩個事件是分別處在兩個不同的線程中,單純的考慮時間上的前后沒有意義。
2、MouseDown 在先。Scroll 事件發(fā)生在滾動條移動的過程中,而 ValueChange 事件發(fā)生在滾動條的 Value 屬性發(fā)生改變的時候,兩者沒有必然聯(lián)系。舉例,當你用鼠標拖動滾動條移動的時候,這時發(fā)生的是 Scroll 事件;松開鼠標鍵后,Value 屬性值改變,這時候觸發(fā) ValueChange 事件。另外,如果滾動條的 Value 是通過代碼改變的而非鼠標拖動的,是不觸發(fā) Scroll 事件只觸發(fā) ValueChange 事件。
3、ClientSize 是指控件的工作區(qū)的高度和寬度。比如說 form,它的 Size 值是包括標題欄、邊框等,而 ClientSize 是工作區(qū),不包括標題欄、邊框等。
4、一般是 Load→Paint→Shown。
vb.net 在規(guī)定的時刻觸發(fā)某個事件。怎么實現(xiàn)?
窗體上添加一個
Label1
Timer1
再添加2個窗體
代碼如下:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = Now
Select Case Hour(Now)
Case 10
Form2.Show()
Case 11
Form3.Show()
End Select
End Sub
End Class
vb.net如何觸發(fā)excel內的一個按鈕的單擊事件
一定要先在VB中添加excel引用。
在工程中引用Microsoft Excel類型庫: 從"工程"菜單中選擇"引用"欄;選擇Microsoft Excel 11.0 Object Library(EXCEL2003),然后選擇"確定"。表示在工程中要引用EXCEL類型庫。
調用excel的工作表中的命令按鈕,代碼如下:
Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
Dim FileName, SheetName As String
FileName = "e:\data.xls" '打開的工作簿路徑名稱
SheetName = "sheet1" '命令按鈕所在的工作表名
Set xlApp = CreateObject("Excel.Application") '創(chuàng)建EXCEL對象
Set xlBook = xlApp.Workbooks.Open(FileName) '打開已經存在的EXCEL工件簿文件
……
xlBook.Close (True) '保存并關閉工作簿
xlApp.Quit '結束EXCEL對象
Set xlApp = Nothing '釋放xlApp對象
end sub
vb.net 怎么用事件觸發(fā)的方式讀取串口數(shù)據(jù)
首先:
textbox里沒有顯示,是因為SerialPort1和TextBox2不是同一線程創(chuàng)建的,需要跨線程操作。需要用到委托,這樣才能顯示出來。
其次:
我覺得用串口的接收數(shù)據(jù)事件更好一些。
下面代碼供參考:
'----------------------
'串口接收數(shù)據(jù)事件,其實比用定時器更好,
'觸發(fā)事件的條件可以自己在form_load中設置ReceivedBytesThreshold屬性數(shù)值,默認為ReceivedBytesThreshold=1
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim strRecvData As String = ""
strRecvData = SerialPort1.ReadExisting
Call disPlayComData(strRecvData)
End Sub
Delegate Sub callback(ByVal strT As String) '定義委托
Sub showString(ByVal comdata As String) '顯示結果
Me.TextBox1.Text = "結果:" comdata
End Sub
Sub disPlayComData(ByVal strTmp As String) '判定是否為跨線程
If Me.TextBox1.InvokeRequired Then
Dim d As New callback(AddressOf showString)
Me.Invoke(d, New Object() {strTmp})
Else
Me.TextBox1.Text = strTmp
End If
End Sub
分享文章:包含vb.net事件觸發(fā)的詞條
URL網址:http://fisionsoft.com.cn/article/doepgje.html