真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net多事件的簡(jiǎn)單介紹

vb.net如何用線(xiàn)程池實(shí)現(xiàn)多線(xiàn)程事件響應(yīng)

這個(gè)沒(méi)法做到。原因

成都創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有十載的成都網(wǎng)站開(kāi)發(fā)建設(shè)經(jīng)驗(yàn),上1000+客戶(hù)的共同信賴(lài)。提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站開(kāi)發(fā)、網(wǎng)站定制、外鏈、建網(wǎng)站、網(wǎng)站搭建、成都響應(yīng)式網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢(xún)和貼心的售后服務(wù)

1)當(dāng)你將方法排入線(xiàn)程池隊(duì)列后,此方法在有線(xiàn)程池線(xiàn)程變得可用時(shí)執(zhí)行。

2)線(xiàn)程池中某個(gè)線(xiàn)程的可用與不可用,是由.net 后臺(tái)決定,用戶(hù)程序無(wú)法控制的

3)正如你觀察到的:線(xiàn)程啟動(dòng)的時(shí)間不同,有快有慢,這恰恰說(shuō)明線(xiàn)程池起作用了:線(xiàn)程池的調(diào)度試圖讓程序響應(yīng)達(dá)到最佳。

VB.NET的Form的所有事件

名稱(chēng)

說(shuō)明

Activated

當(dāng)使用代碼激活或用戶(hù)激活窗體時(shí)發(fā)生。

AutoSizeChanged

當(dāng)?AutoSize?屬性更改時(shí)發(fā)生。

AutoValidateChanged

當(dāng)?AutoValidate?屬性更改時(shí)發(fā)生。

BackColorChanged

當(dāng)?BackColor?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

BackgroundImageChanged

當(dāng)?BackgroundImage?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

BackgroundImageLayoutChanged

當(dāng)?BackgroundImageLayout?屬性更改時(shí)發(fā)生。(從?Control?繼承。)

BindingContextChanged

當(dāng)?BindingContext?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

CausesValidationChanged

當(dāng)?CausesValidation?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

ChangeUICues

焦點(diǎn)或鍵盤(pán)用戶(hù)界面 (UI) 提示更改時(shí)發(fā)生。(從?Control?繼承。)

Click

在單擊控件時(shí)發(fā)生。(從?Control?繼承。)

ClientSizeChanged

當(dāng)?ClientSize?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

Closed

關(guān)閉窗體時(shí)發(fā)生。

Closing

關(guān)閉窗體時(shí)發(fā)生。

ContextMenuChanged

當(dāng)?ContextMenu?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

ContextMenuStripChanged

當(dāng)?ContextMenuStrip?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

ControlAdded

在將新控件添加到?Control.ControlCollection?時(shí)發(fā)生。(從?Control?繼承。)

ControlRemoved

在從?Control.ControlCollection?移除控件時(shí)發(fā)生。(從?Control?繼承。)

CursorChanged

當(dāng)?Cursor?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

Deactivate

當(dāng)窗體失去焦點(diǎn)并不再是活動(dòng)窗體時(shí)發(fā)生。

Disposed

當(dāng)通過(guò)調(diào)用?Dispose?方法釋放組件時(shí)發(fā)生。(從?Component?繼承。)

DockChanged

當(dāng)?Dock?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

DoubleClick

在雙擊控件時(shí)發(fā)生。(從?Control?繼承。)

DragDrop

拖放操作完成時(shí)發(fā)生。(從?Control?繼承。)

DragEnter

在將對(duì)象拖入控件的邊界時(shí)發(fā)生。(從?Control?繼承。)

DragLeave

將對(duì)象拖出控件的邊界時(shí)發(fā)生。(從?Control?繼承。)

DragOver

在將對(duì)象拖到控件的邊界上發(fā)生。(從?Control?繼承。)

EnabledChanged

在?Enabled?屬性值更改后發(fā)生。(從?Control?繼承。)

Enter

進(jìn)入控件時(shí)發(fā)生。(從?Control?繼承。)

FontChanged

在?Font?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

ForeColorChanged

在?ForeColor?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

FormClosed

關(guān)閉窗體后發(fā)生。

FormClosing

關(guān)閉窗體前發(fā)生。

GiveFeedback

在執(zhí)行拖動(dòng)操作期間發(fā)生。(從?Control?繼承。)

GotFocus

在控件接收焦點(diǎn)時(shí)發(fā)生。(從?Control?繼承。)

HandleCreated

在為控件創(chuàng)建句柄時(shí)發(fā)生。(從?Control?繼承。)

HandleDestroyed

在控件的句柄處于銷(xiāo)毀過(guò)程中時(shí)發(fā)生。(從?Control?繼承。)

HelpButtonClicked

單擊“幫助”按鈕時(shí)發(fā)生。

HelpRequested

用戶(hù)請(qǐng)求控件幫助時(shí)發(fā)生。(從?Control?繼承。)

ImeModeChanged

在?ImeMode?屬性更改后發(fā)生。(從?Control?繼承。)

InputLanguageChanged

更改窗體的輸入語(yǔ)言后發(fā)生。

InputLanguageChanging

當(dāng)用戶(hù)嘗試更改窗體的輸入語(yǔ)言時(shí)發(fā)生。

Invalidated

控件的顯示要求重新繪制時(shí)發(fā)生。(從?Control?繼承。)

KeyDown

在控件有焦點(diǎn)的情況下按下鍵時(shí)發(fā)生。(從?Control?繼承。)

KeyPress

在控件有焦點(diǎn)的情況下字符、空格或退格鍵時(shí)發(fā)生。(從?Control?繼承。)

KeyUp

在控件有焦點(diǎn)的情況下釋放鍵時(shí)發(fā)生。(從?Control?繼承。)

Layout

在控件應(yīng)重新定位其子控件時(shí)發(fā)生。(從?Control?繼承。)

Leave

在輸入焦點(diǎn)離開(kāi)控件時(shí)發(fā)生。(從?Control?繼承。)

Load

在第一次顯示窗體前發(fā)生。

LocationChanged

在?Location?屬性值更改后發(fā)生。(從?Control?繼承。)

LostFocus

在控件失去焦點(diǎn)時(shí)發(fā)生。(從?Control?繼承。)

MarginChanged

當(dāng)?Margin?屬性更改時(shí)發(fā)生。

MaximizedBoundsChanged

在?MaximizedBounds?屬性的值更改后發(fā)生。

MaximumSizeChanged

在?MaximumSize?屬性的值更改后發(fā)生。

MdiChildActivate

在多文檔界面 (MDI) 應(yīng)用程序內(nèi)激活或關(guān)閉 MDI 子窗體時(shí)發(fā)生。

MenuComplete

當(dāng)窗體菜單失去焦點(diǎn)時(shí)發(fā)生。

MenuStart

當(dāng)窗體菜單接收焦點(diǎn)時(shí)發(fā)生。

MinimumSizeChanged

在?MinimumSize?屬性的值更改后發(fā)生。

MouseCaptureChanged

當(dāng)控件失去鼠標(biāo)捕獲時(shí)發(fā)生。(從?Control?繼承。)

MouseClick

用鼠標(biāo)單擊控件時(shí)發(fā)生。(從?Control?繼承。)

MouseDoubleClick

用鼠標(biāo)雙擊控件時(shí)發(fā)生。(從?Control?繼承。)

MouseDown

當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時(shí)發(fā)生。(從?Control?繼承。)

MouseEnter

在鼠標(biāo)指針進(jìn)入控件時(shí)發(fā)生。(從?Control?繼承。)

MouseHover

在鼠標(biāo)指針停放在控件上時(shí)發(fā)生。(從?Control?繼承。)

MouseLeave

在鼠標(biāo)指針離開(kāi)控件時(shí)發(fā)生。(從?Control?繼承。)

MouseMove

在鼠標(biāo)指針移到控件上時(shí)發(fā)生。(從?Control?繼承。)

MouseUp

在鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時(shí)發(fā)生。(從?Control?繼承。)

MouseWheel

在控件有焦點(diǎn)且鼠標(biāo)輪移動(dòng)時(shí)發(fā)生。(從?Control?繼承。)

Move

在移動(dòng)控件時(shí)發(fā)生。(從?Control?繼承。)

PaddingChanged

在控件空白區(qū)更改時(shí)發(fā)生。(從?Control?繼承。)

Paint

在重繪控件時(shí)發(fā)生。(從?Control?繼承。)

ParentChanged

在?Parent?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

PreviewKeyDown

在焦點(diǎn)位于此控件上的情況下,當(dāng)有按鍵動(dòng)作時(shí)發(fā)生(在?KeyDown?事件之前發(fā)生)。(從Control?繼承。)

QueryAccessibilityHelp

在?AccessibleObject?為輔助功能應(yīng)用程序提供幫助時(shí)發(fā)生。(從?Control?繼承。)

QueryContinueDrag

在拖放操作期間發(fā)生,并且允許拖動(dòng)源確定是否應(yīng)取消拖放操作。(從?Control?繼承。)

RegionChanged

當(dāng)?Region?屬性的值更改時(shí)發(fā)生。(從?Control?繼承。)

Resize

在調(diào)整控件大小時(shí)發(fā)生。(從?Control?繼承。)

ResizeBegin

窗體進(jìn)入大小調(diào)整模式時(shí)發(fā)生。

ResizeEnd

窗體退出大小調(diào)整模式時(shí)發(fā)生。

RightToLeftChanged

在?RightToLeft?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

RightToLeftLayoutChanged

更改?RightToLeftLayout?屬性值之后發(fā)生。

Scroll

用戶(hù)或代碼滾動(dòng)工作區(qū)時(shí)發(fā)生。(從?ScrollableControl?繼承。)

Shown

只要窗體是首次顯示就發(fā)生。

SizeChanged

在?Size?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

StyleChanged

在控件樣式更改時(shí)發(fā)生。(從?Control?繼承。)

SystemColorsChanged

系統(tǒng)顏色更改時(shí)發(fā)生。(從?Control?繼承。)

TabIndexChanged

此 API 支持 產(chǎn)品 基礎(chǔ)結(jié)構(gòu),不能在代碼中直接使用。?當(dāng)?TabIndex?屬性的值更改時(shí)發(fā)生。

TabStopChanged

當(dāng)?TabStop?屬性更改時(shí)發(fā)生。

TextChanged

在?Text?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

Validated

在控件完成驗(yàn)證時(shí)發(fā)生。(從?Control?繼承。)

Validating

在控件驗(yàn)證時(shí)發(fā)生。(從?Control?繼承。)

VisibleChanged

在?Visible?屬性值更改時(shí)發(fā)生。(從?Control?繼承。)

vb.net 一個(gè)過(guò)程handle多個(gè)事件,怎么判斷具體那個(gè)事件觸發(fā)的過(guò)程

每個(gè)按鈕都有一個(gè)唯一的name或者caption吧,用這個(gè)檢測(cè)下就好了。

if sender.name = "按鈕1" then

...

end if

(vb.net)動(dòng)態(tài)添加的控件如何多次響應(yīng)事件?

熟悉VB的朋友對(duì)使用ActiveX控件一定不會(huì)陌生,眾多控件極大地方便了編程,但

唯一的缺陷是不能動(dòng)態(tài)加載控件,必須在設(shè)計(jì)時(shí)通過(guò)引用,將控件放置在窗體上。

VB6.0已能夠解決該問(wèn)題,只是幫助中沒(méi)有明確說(shuō)明,并且沒(méi)有描述到一些關(guān)鍵功能,

由于以前的版本中可以動(dòng)態(tài)創(chuàng)建進(jìn)程外服務(wù):如果對(duì)象是外部可創(chuàng)建的,可在 Set 語(yǔ)

句中用 New 關(guān)鍵字、CreateObject 或 GetObject 從部件外面將對(duì)象引用賦予變量。

如果對(duì)象是從屬對(duì)象,則需使用高層對(duì)象的方法,在 Set 語(yǔ)句中指定一個(gè)對(duì)象引用:

Dim xlApp1 As Excel.Application

Set xlApp1 = New Excel.Application

Dim xlApp As Object '定義存放引用對(duì)象的變量。

Set xlApp = CreateObject("excel.application")

xlApp.Visible = True

---- 這些語(yǔ)法很容易造成誤導(dǎo),以為動(dòng)態(tài)加載ActiveX控件也是此方法,可能有朋友也

象我一樣利用CreateObject嘗試了無(wú)數(shù)次,卻無(wú)功而返,不知微軟公司是出于何種考

慮,動(dòng)態(tài)加載ActiveX控件是擴(kuò)展控件集合的方式實(shí)現(xiàn),通過(guò)實(shí)際摸索,終于就如何實(shí)

現(xiàn)動(dòng)態(tài)ActiveX控件找出了一條切實(shí)可行的方法,下面以一個(gè)具體的實(shí)例來(lái)詳細(xì)說(shuō)明。

一、ActiveX控件

---- ActiveX 控件是 Visual Basic 工具箱的擴(kuò)充部分。使用 ActiveX 控件的方法與

使用其它標(biāo)準(zhǔn)內(nèi)裝的控件,如 CheckBox 控件,完全一樣。在程序中加入 ActiveX 控

件后,它將成為開(kāi)發(fā)和運(yùn)行環(huán)境的一部分,并為應(yīng)用程序提供新的功能。

---- ActiveX 部件通過(guò)客戶(hù)端/服務(wù)器關(guān)系與應(yīng)用程序— 及與部件相互之間— 交互作

用??蛻?hù)端是使用部件功能的應(yīng)用程序代碼或部件。服務(wù)器是部件及其關(guān)聯(lián)的對(duì)象。例

如,假設(shè)應(yīng)用程序使用 ActiveX 控件來(lái)提供一個(gè)標(biāo)準(zhǔn)的雇員窗體,供公司的多種應(yīng)用

程序使用。提供雇員窗體的 ActiveX 控件就是服務(wù)器,使用這個(gè)控件的應(yīng)用程序就是

服務(wù)器的客戶(hù)端。

二、加載方法

---- VB6.0中對(duì)Controls 集合進(jìn)行了擴(kuò)展,以前版本中Controls 集合在窗體上列舉出

已加載的控件,這在迭代過(guò)程中是很有用的。Controls 集合標(biāo)識(shí)一個(gè)叫做 Controls

的內(nèi)在窗體級(jí)變量。如果忽略可選的 object 所在處的整數(shù),則關(guān)鍵字 Controls 必須

包括在內(nèi)。我們通常在窗口中使用如下代碼:

Text1.Text="Hello, world"

其實(shí)也可以使用如下代碼達(dá)到同一目的:

Controls(1).Text="Hello, world"

---- 在VB6.0中除了原來(lái)的Clear、Remove 方法外(很奇怪,為什么微軟在VB5.0中只提

供這兩種方法,而沒(méi)有提供Add方法,因?yàn)闆](méi)有Add,這兩種方法也就沒(méi)什么用處),增

加了Add方法,該方法就是用于動(dòng)態(tài)加載控件的:

Controls.Add(progid as String, Name as String);

progid: ActiveX部件的ProgID,如:"VB.CheckBox";

Name:ActiveX部件加載后的名稱(chēng),如: "MyCheckBox";

若要在窗體上添加一個(gè)名為MyButton的按鈕,可以使用:

dim oControl as Object '窗體級(jí)變量

注意:這里聲明為Object對(duì)象類(lèi)型

Private Sub LoadControl()

Set oControl = Controls.Add

("VB.CommandButton", "MyButton")

oControl.Left = 10

oControl.Top = 10

oControl.Visible = True '使控件可見(jiàn)

End Sub

---- 這是VB6.0的標(biāo)準(zhǔn)語(yǔ)法,它在例程中也是如此演示的,不過(guò)該方法雖然現(xiàn)實(shí)了控件

的動(dòng)態(tài)加載,按鈕顯示在窗體上,可以象普通按鈕一樣按下去,但加載的控件不能預(yù)先

設(shè)計(jì)響應(yīng)事件代碼,如:事件Sub MyButton_Click()將是非法的,當(dāng)然,可以將要響應(yīng)

的事件封裝在控件內(nèi)部。就編程的觀點(diǎn)來(lái)看該方法沒(méi)什么大的用處,開(kāi)發(fā)ActiveX控件

的目的是為了資源共享,為了被其他開(kāi)發(fā)人員利用,所以要提供必要的事件接口,顯然

利用該方法不行,通過(guò)分析VBControls等相關(guān)對(duì)象,找出VBControlExtender對(duì)象與

EventInfo相結(jié)合能提供事件陷井捕捉,VBControlExtender對(duì)象對(duì)動(dòng)態(tài)添加控件特別有

用,它提供了一套通用的屬性、方法、事件給開(kāi)發(fā)人員,它的一個(gè)突出特點(diǎn)是能編程設(shè)

計(jì)控件的事件,熟習(xí)類(lèi)編程的朋友對(duì)帶事件的對(duì)象聲明一定不會(huì)陌生:

---- Dim WithEvents objElemt as CElemtVBControlExtender也不例外,聲明的語(yǔ)法

一樣,只不過(guò)它有個(gè)特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到對(duì)象使

用RaiseEvent產(chǎn)生的所有事件,EventInfo數(shù)據(jù)結(jié)構(gòu)映射了事件的名稱(chēng)、參數(shù)個(gè)數(shù)和參

數(shù)的值。VBControlExtender和 EventInfo相結(jié)合,采用Select Case 就可以預(yù)先將不

同類(lèi)對(duì)象的事件放置一起,各自獨(dú)立運(yùn)作。將上面的代碼改寫(xiě)一下就能提供Click事件

了:

---- Dim WithEvents oControl As VBControlExtender '帶事件聲明聲明之后您就可

以在代碼窗口的左上角的對(duì)象下拉框中發(fā)現(xiàn)該對(duì)象出現(xiàn)了,也就是說(shuō),該對(duì)象有了事件

或方法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus ,ObjectEvent

和Validate,其中ObjectEvent是通用的事件捕捉。

Private Sub LoadControl()

Set oControl = Controls.Add

("VB. CommandButton", "MyButton")

oControl.Visible = True

End Sub

Private Sub oControl_ObjectEvent(Info As EventInfo)

Select Case Info.Name

Case "Click" 'Click事件

'您可以添加處理Click事件代碼

MsgBox "您按了MyButton!"

Case Else ' 其他事件

' Handle unknown events here.

End Select

End Sub

---- 當(dāng)然對(duì)微軟提供的標(biāo)準(zhǔn)控件能采用該方法添加,大家都不會(huì)懷疑,但自己開(kāi)發(fā)的

控件也能嗎?答案是肯定的,我們可以用一個(gè)實(shí)際的例子進(jìn)行說(shuō)明。


網(wǎng)站標(biāo)題:vb.net多事件的簡(jiǎn)單介紹
網(wǎng)站鏈接:http://weahome.cn/article/dohhgds.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部