久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Visual Basic 6.0 控件和 .NET 控件的區(qū)別(續(xù))

 nxhujiee 2010-04-07
Visual Basic 6.0 控件和 .NET 控件的區(qū)別(續(xù))

圖 1:典型的數(shù)據(jù)輸入屏幕

如圖 1 所示,,在用鍵盤鍵入數(shù)據(jù)的輸入窗體上,您可能希望使 Add,、Update,、Delete 和 Clear 按鈕保持在窗體的右下角。要實(shí)現(xiàn)此目的,,請突出顯示這些按鈕,然后將 Anchor 屬性設(shè)置為 BottomRight,。要執(zhí)行此操作,請?jiān)?Properties 窗口中找到 Anchor 屬性,,并單擊其下拉箭頭。清除選擇左邊和上邊的欄,,然后選擇右邊和下邊的欄,,如圖 2 所示,。



圖 2:已激活 Anchor 下拉列表的 Properties 對話框

使用 Anchor 屬性,您不必編寫任何代碼行就能將控件錨定在窗體的任何邊,。通過選擇圖形化菜單中的選項(xiàng),,您可以選擇所需的操作。在代碼中,,可以使用諸如 TopLeft、BottomRight,、Left,、Right、Top,、Bottom、TopLeftBottom 和 All 等常量來設(shè)置屬性值,。

靠接
Dock 屬性類似于 Anchor 屬性,,使您可以將控件靠接到容器的任何邊??拷涌丶r,,控件將隨窗體的縮放而縮放,但其靠接的邊保持不變,,如果將控件靠接在窗體的所有邊,,則控件將充滿整個窗體。

關(guān)于控件數(shù)組
在 Visual Basic 6.0 中,,將所有控件的 Name 屬性設(shè)置為相同的值便可以創(chuàng)建控件數(shù)組。隨后,,每個控件的 Index 屬性會被設(shè)置為不同的編號,。Index 值被傳遞給該組控件的任意事件,這樣您就可以知道哪個控件調(diào)用了該事件,。這是 Visual Basic 6.0 中控件數(shù)組的用途之一,,即一個事件過程處理多個控件的代碼,。

而在 Visual Basic .NET 中,處理控件數(shù)組的方式則大不一樣,。實(shí)現(xiàn)一個過程處理多個控件的事件的方法有兩種:使用內(nèi)嵌于 .NET 類中的 AddHandler 過程,,或在過程中使用 Handles 子句。

如果您只希望編寫一個 Click 事件,,使窗體底部的所有按鈕都具備該事件,,您可以雙擊其中一個按鈕,,使代碼窗口生成一個 Click 事件過程,。此過程的代碼如下:

Private Sub btnSave_Click( _
ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles btnSave.Click, btnNew.Click, btnDelete.Click
    MessageBox.Show("Click 事件")
End Sub
盡管以上代碼很簡單,但它說明了不同控件如何調(diào)用同一過程,。除了創(chuàng)建控件數(shù)組,,您還可以通過創(chuàng)建并指定事件處理程序來響應(yīng)多個控件的一個或多個事件,。

除了 Handles 子句,您還可以使用 AddHandler 語句實(shí)現(xiàn)一個過程處理多個控件的事件,。該語句使您可以向任何事件添加事件處理程序,,并指定要調(diào)用的過程。由于可以向事件添加事件處理程序,,您可以使用一系列事件處理程序來處理相同的事件,,實(shí)際上是在告訴控件應(yīng)該調(diào)用哪個過程來響應(yīng)事件,。因?yàn)槭俏惺录幚沓绦騺硖幚磉@一新過程,,所以此過程稱為“代理”,。

要使代理生效,,請?jiān)诖绑w的 New 方法中現(xiàn)有代碼的 TODO 注釋下面添加類似下面的代碼:

AddHandler btnDelete.Click, AddressOf ButtonClick

AddHandler btnNew.Click, AddressOf ButtonClick

完成上述代碼的添加后,,如果單擊 New、Delete,、或 Save 按鈕,則會調(diào)用 ButtonClick 事件過程。當(dāng)然,,您可能需要確定調(diào)用此特殊事件過程的按鈕,。要做到這一點(diǎn),,您可以使用傳遞給所有事件過程的 sender 參數(shù),,它是產(chǎn)生該特殊事件的對象。因此您可以編寫如下代碼:

Private Sub ButtonClick( _
ByVal sender As Object, _
ByVal e As System.EventArgs)
    If sender Is btnNew Then
       MessageBox.Show("已按下 New 按鈕")
    ElseIf sender Is btnSave Then
       MessageBox.Show("已按下 Save 按鈕")
    ElseIf sender Is btnDelete Then
       MessageBox.Show("已按下 Delete 按鈕")
    End If
End Sub
這兩種創(chuàng)建數(shù)組的方法沒有本質(zhì)區(qū)別,,您可以任意選擇一種。

默認(rèn)和取消按鈕
在舊版本的 Visual Basic 中,,需要將 CommandButton 控件的 Default 屬性設(shè)置為 True,以告訴 Visual Basic 當(dāng)按下 Enter 鍵時應(yīng)該調(diào)用此按鈕的 Click 事件,;設(shè)置另一個 CommandButton 控件的 Cancel 屬性,,以告訴 Visual Basic 當(dāng)按下 Esc 鍵時應(yīng)該調(diào)用此按鈕的 Click 事件;然后還必須為上述每個 Click 事件過程編寫代碼以關(guān)閉窗體,,并且很可能需要設(shè)置屬性,,告訴調(diào)用此窗體的例程按下的是哪個按鈕。

現(xiàn)在,,無需為這些按鈕編寫任何代碼即可實(shí)現(xiàn)此目的,用戶只需將每個按鈕的 DialogResult 屬性設(shè)置為特定的值,。例如,,如果窗體上包含“確定”和“取消”按鈕,,請將這兩個按鈕的 DialogResult 屬性分別設(shè)置為 OK 和 Cancel。然后將窗體的 AcceptButton 屬性設(shè)置為“確定”按鈕,,將窗體的 CancelButton 屬性設(shè)置為“取消”按鈕。

完成這些屬性的設(shè)置后,,便可以使用 ShowDialog 方法顯示窗體,而且兩個按鈕都可以自動關(guān)閉窗體,。然后,,窗體的 DialogResult 屬性會被設(shè)置為在按下的按鈕中設(shè)置的 DialogResult 值。這樣,,就可以從調(diào)用程序內(nèi)部確定關(guān)閉窗體的按鈕,。

上下文相關(guān)菜單
在 Windows 應(yīng)用程序中,您可能需要為控件指定特殊菜單,,以在使用鼠標(biāo)右鍵單擊該控件時顯示該菜單,。要在 Visual Basic 6.0 中實(shí)現(xiàn)這一功能,您需要將已創(chuàng)建的菜單的 Visible 屬性設(shè)置為 False,,然后在該控件的 Click 事件過程中編寫代碼,,以顯示隱藏的菜單,。

在 .NET 中,,您可以使用 ContextMenu 屬性創(chuàng)建與窗體的 MainMenu 完全分開的菜單。您只需設(shè)置控件的 ContextMenu 屬性,,就可以將此菜單指定給該控件,,而不必另外編寫任何代碼。

在窗體上鎖定控件
創(chuàng)建用戶界面后,您需要確保在單擊控件添加代碼時不會意外地移動控件,。Visual Basic 6.0 中有一個選項(xiàng)可以鎖定窗體上的所有控件,。該選項(xiàng)非常好用,,但有時仍需要在大型窗體上處理一小部分內(nèi)容,,這時候就會產(chǎn)生問題。為了處理這一小部分內(nèi)容,,您必須取消所有控件的鎖定,,這樣就有可能不小心移動控件。

在 .NET 中,,可以將控件分組鎖定或單獨(dú)鎖定,,這在大型窗體上處理多組控件時非常有用。

MDI 窗體上的控件
在 Visual Basic 6.0 中,,只有那些具有 Align 屬性的控件才能放置到 MDI 窗體上,;而在 .NET 中,您可以將任何控件放置到 MDI 窗體上,。

DDE 已被刪除
在 .NET 語言中,,動態(tài)數(shù)據(jù)交換 (DDE) 技術(shù)已不再可用,。在 .NET 中,程序之間的通訊方法很多,,不再需要此技術(shù),,因此,所有控件中具有 Link 前綴的所有屬性均已被刪除,。

標(biāo)準(zhǔn)控件的變化
本文前面提到過,,很多標(biāo)準(zhǔn)控件的屬性都發(fā)生了變化。下面是已改變的屬性或已添加到每個不同標(biāo)準(zhǔn)控件中的屬性,。下表列出的區(qū)別僅限于這些控件的特定屬性,,前面提到過的公共屬性也有變化,在此不再贅述,。

標(biāo)簽控件

新屬性 說明 
Text 此屬性在 Visual Basic 6.0 中稱為 Caption,。 

文本框控件

新屬性 說明 
AcceptsReturn 如果設(shè)置為 True,則多行文本框會將 CRLF 當(dāng)作有效字符,。要禁止在文本框中輸入 CRLF,,請將此屬性設(shè)置為 False。 
AcceptsTab 如果設(shè)置為 True,,則多行文本框會將制表符當(dāng)作有效字符,。要禁止在文本框中輸入制表符,,請將此屬性設(shè)置為 False,。 
CharacterCasing 控制用戶在此控件中鍵入的字母的大小寫。選項(xiàng)包括 Normal,、UpperCase 和 LowerCase。 
ReadOnly 如果要禁止用戶在此文本框中輸入文本,,請將此屬性設(shè)置為 True。此屬性與原來的 Locked 屬性功能相同,。 
TextAlign 當(dāng)用戶在文本區(qū)域鍵入數(shù)據(jù)時,,此屬性控制文本的對齊方式??蓪⒋藢傩栽O(shè)置為 Left,、Right 或 Center。



按鈕控件

新屬性 說明 
BackgroundImage 允許在按鈕上設(shè)置背景圖像,,還可以在圖像上添加文本,。 
DialogResult 當(dāng)將窗體作為對話框調(diào)用時,設(shè)置返回結(jié)果,。如果用戶按下此按鈕,,將返回此屬性中的值。 
FlatStyle 改變按鈕的外觀,。選項(xiàng)包括 Flat,、PopUp、Standard 和 System,。如果使用 Windows XP,則應(yīng)該選擇 System,,因?yàn)榇诉x項(xiàng)允許您使用 XP 主題,。 
Image 在此按鈕中顯示的圖像。 
ImageAlign 按鈕中圖像的放置位置,。 
ImageIndex ImageList 控件(在 ImageList 屬性中設(shè)置)中圖像的索引號,。 
ImageList ImageList 控件的名稱,在此控件中使用 ImageIndex 屬性檢索圖像,。 
Text 此屬性在 Visual Basic 6.0 中稱為 Caption,。 
TextAlign 控制按鈕上顯示的文本的對齊方式。選項(xiàng)包括 left,、right,、center、middle,、top 或 bottom,,或任何上述選項(xiàng)的組合。 


復(fù)選框控件

新屬性 說明 
AutoCheck 如果設(shè)置為 True,,則單擊控件的任意位置,,其狀態(tài)都會從選中變?yōu)槿∠x中。 
BackgroundImage 允許在復(fù)選框控件上設(shè)置背景圖像,,還可以在圖像上添加文本,。 
CheckAlign 確定復(fù)選框控件的位置。Visual Basic 6.0 將文本的位置限制在復(fù)選框內(nèi)的左側(cè)或右側(cè)?,F(xiàn)在,,您可以選擇 left、right,、up,、down 或 center。 
Checked True=選中,,F(xiàn)alse=取消選中,。 
CheckState 此屬性允許用戶在設(shè)計(jì)時設(shè)置三種狀態(tài),以指明在運(yùn)行時希望該控件顯示的內(nèi)容,??梢赃x擇 Checked、Unchecked 或 Indeterminate,。注意:只有在將 ThreeState 屬性設(shè)置為 True 時,,才能設(shè)置 Indeterminate 選項(xiàng)。
FlatStyle 改變復(fù)選框控件的外觀,。選項(xiàng)包括 Flat,、PopUp、Standard 和 System,。 
Image 在復(fù)選框中顯示的圖像,。 
ImageAlign 復(fù)選框中圖像的放置位置。 
ImageIndex ImageList 控件(在 ImageList 屬性中設(shè)置)中圖像的索引號,。 
ImageList ImageList 控件的名稱,,在此控件中使用 ImageIndex 屬性檢索圖像。 
Text 此屬性在 Visual Basic 6.0 中稱為 Caption,。 
ThreeState 如果此屬性設(shè)置為 True,,則可以將 CheckState 屬性設(shè)置為 Indeterminate,同時它還允許用戶在 Checked,、Unchecked 和 Indeterminate 三種狀態(tài)間切換,。 


單選按鈕控件

新屬性 說明 
AutoCheck 如果設(shè)置為 True,,則單擊該控件的任意位置,其狀態(tài)將從選中變?yōu)槿∠x中,。 
BackgroundImage 允許在單選按鈕上設(shè)置背景圖像,,還可以在圖像上添加文本。 
CheckAlign 確定單選按鈕中選中標(biāo)記的位置,。在 Visual Basic 6.0 中,,只能將其放在文本的左側(cè)或右側(cè)。而在 .NET 中,,您可以選擇 left,、right、up,、down 或 center,。 
Checked 此屬性在 Visual Basic 6.0 中稱為 Value。 
FlatStyle 改變單選按鈕控件的外觀,。選項(xiàng)包括 Flat,、PopUp、Standard 和 System,。 
Image 在單選按鈕中顯示的圖像,。 
ImageAlign 單選按鈕中圖像的放置位置。 
ImageIndex ImageList 控件(在 ImageList 屬性中設(shè)置)中圖像的索引號,。 
ImageList ImageList 控件的名稱,,在此控件中使用 ImageIndex 屬性檢索圖像。 
Text 此屬性在 Visual Basic 6.0 中稱為 Caption,。 
TextAlign 控制單選按鈕上顯示的文本的對齊方式,。可將此屬性設(shè)置為 left,、right,、center、middle,、top 或 bottom,,或上述任何選項(xiàng)的組合。 


組合框控件

新屬性 說明 
DisplayMember 在控件的列表部分顯示從每一對象加載到 ComboBox 中的項(xiàng),。DisplayMember 的默認(rèn)值是 ToString 方法,。 
DropDownStyle 此屬性在 Visual Basic 6.0 中稱為 Style。與在 Visual Basic 6.0 中一樣,,您可以選擇 Simple,、DropDownList 和 DropDown。 
DropDownWidth 組合框下拉部分的寬度(以像素計(jì)算),??梢圆煌诖绑w上組合框的實(shí)際尺寸,。 
MaxDropDownItems 用戶使用組合框的下拉部分時允許顯示的項(xiàng)數(shù)。 
MaxLength 將 DropDownStyle 屬性設(shè)置為 Simple 時,,可以輸入的最大字符數(shù),。 
ValueMember 從選定項(xiàng)中檢索數(shù)據(jù)。默認(rèn)值為 ToString 方法,。 


列表框控件

新屬性 說明 
ColumnWidth 將 MultiColumn 屬性設(shè)置為 True 時各列的寬度。 
DisplayMember 在控件的列表部分顯示從每一對象加載到 ListBox 中的項(xiàng),。DisplayMember 的默認(rèn)值是 ToString 方法,。 
HorizontalExtent 如果將 HorizontalScrollbar 屬性設(shè)置為 True,則可以在此屬性中輸入一個數(shù)字,,表示滾動條可以滾動的最大寬度(以像素計(jì)算),。 
HorizontalScrollbar 如果不想在數(shù)據(jù)的寬度大于此方框時顯示水平滾動條,請將該屬性設(shè)置為 False,。 
ItemHeight 使用固定字體時列表框中各項(xiàng)的高度,。 
Items 代替 Visual Basic 6.0 ListBox 控件的 List 屬性。 
MultiColumn 代替 Visual Basic 6.0 中的 Columns 屬性,。如果希望顯示多行,,請將此值設(shè)置為 True。 
ScrollAlwaysVisible 如果希望在數(shù)據(jù)量很少時仍顯示滾動條,,請將此屬性設(shè)置為 True,。這有助于用戶根據(jù)此列表框中可能輸入的數(shù)據(jù)確定列表框的適當(dāng)寬度。如果在運(yùn)行時加載數(shù)據(jù)后,,可以看到滾動條,,最好能夠在數(shù)據(jù)太大時正確設(shè)置控件的寬度。 
SelectionMode 代替 Visual Basic 6.0 中的 MultiSelect 屬性,。 
UseTabStop 如果不希望 Tab 字符在列表框中代表不同的列,,請將此屬性設(shè)置為 False。 
ValueMember 從選定項(xiàng)中檢索數(shù)據(jù),。默認(rèn)值為 ToString 方法,。 


圖片框控件

新屬性 說明 
BackgroundImage 允許在圖片框上設(shè)置背景圖像,還可以在圖像上添加文本,。 
BorderStyle 包括 None,、Fixed 和 Fixed3D 選項(xiàng)。 
Image 用于代替 Picture 屬性,。 
SizeMode 控制圖片的顯示方式,。可以選擇的值包括 Normal,、StretchImage,、AutoSize 和 CenterImage,。 


HScrollBar 控件

新屬性 說明 
Maximum 代替 Visual Basic 6.0 中的 Max 屬性。 
Minimum 代替 Visual Basic 6.0 中的 Min 屬性,。 


VScrollBar 控件

屬性 說明 
Maximum 代替 Visual Basic 6.0 中的 Max 屬性,。 
Minimum 代替 Visual Basic 6.0 中的 Min 屬性。 


其他控件
除了 Visual Basic 6.0 中的標(biāo)準(zhǔn)控件外,,Visual Basic .NET 中還升級了許多其他控件,。實(shí)際上,升級的控件非常多,,每個控件都可以單獨(dú)寫一篇文章,。了解本文列出的變化后,對以后在 .NET 中使用這些新控件時遇到的變化類型就會有一個清楚的認(rèn)識,。

總結(jié)
在 .NET 中創(chuàng)建用戶界面的方式已經(jīng)發(fā)生了很大的變化,。您以前使用過的一些控件已經(jīng)不復(fù)存在,或者變得與原來大不一樣,。要執(zhí)行特定的操作,,您需要使用這些新屬性,有時還必須使用系統(tǒng)類來代替控件,。您會發(fā)現(xiàn) .NET 控件相對于原來的 ActiveX 控件有了相當(dāng)大的改進(jìn),。使用這些新屬性和新方法,可以幫助您開發(fā)出更好的 Windows 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多