如何正確實(shí)現(xiàn)VB.NET重載Windows控件
VB.NET編程語(yǔ)言的作用在開(kāi)發(fā)人員眼中看來(lái)是非常重要的。我們?cè)谶@里就會(huì)為大家介紹一下VB.NET重載Windows控件的相關(guān)方法,希望可以幫助大家提高對(duì)VB.NET的理解程度,提高編程效率。#t#
在VB.NET中,用戶(hù)可以根據(jù)一個(gè)已經(jīng)存在的控件繼承出一個(gè)新的Windows控件來(lái)實(shí)現(xiàn)VB.NET重載Windows控件,假設(shè)現(xiàn)在需要一種Text控件,當(dāng)用tab鍵移到該控件時(shí),整個(gè)Text中的內(nèi)容都被highlight了,在VB 6.0中,這可以通過(guò)編寫(xiě)一個(gè)新的Dll動(dòng)態(tài)庫(kù),但是Textbox控件在工具箱中被屏蔽掉了,并且失去了Textbox的一些有用的事件。而在vb 7.0中則可以通過(guò)繼承Textbox類(lèi)而派生出一個(gè)新的類(lèi)。
下面舉一個(gè)例子,通過(guò)Windows設(shè)計(jì)環(huán)境,建立一個(gè)窗體,在這個(gè)窗體中有兩個(gè)Textbox,通過(guò)在"Project|Add User Control"菜單給工程加入一個(gè)名為"HitextBox.vb"的對(duì)象,使這個(gè)控件繼承TextBox的屬性,而不是要自定義一個(gè)全新的控件,如下:
- Public class HtextBox
- Inherits Textbox
下面先編譯一下整個(gè)VB.NET重載Windows控件的工程,新加入的HtextBox控件將會(huì)出現(xiàn)在左邊的工具欄的底部。用戶(hù)可以在建立的任何一個(gè)Windows窗體中建立一個(gè)HtextBox類(lèi)對(duì)象。在類(lèi)的代碼中,插入如下代碼以實(shí)現(xiàn)highlight的功能:當(dāng)你用Tab鍵移到Textbox時(shí),Textbox的全部?jī)?nèi)容變?yōu)閔ightlight。
- Public class HttextBox
- Inherits Textbox
- Public Sub New
- Mybase.New
- 'Add Event event handler
- AddHandler Enter,_
- New System.EventHandler(AddressOf_
- Me.Ht_Enter)
- End Sub
- 'Enter event handler is
inside the class- Protected Sub Ht_Enter(Byval
sender as Object,_- Byval e as System.EventArgs)
- Me.selectionStart=0
- MeMe.selectionLength=Me.text.length
- End Sub
- End Class
這就是所有的VB.NET重載Windows控件過(guò)程,通過(guò)添加大概10行代碼就做出了一個(gè)繼承Windows控件派生出來(lái)的控件。