徹底解決VB.NET窗體繼承相關(guān)問題
VB.NET中對于窗體的處理方式有很多種,比如在對無規(guī)則窗體的操作方法等等。那么我們就可以通過這篇文章介紹的有關(guān)VB.NET窗體繼承方式來對窗體的處理進行一個深入的研究,加什么我們對這方面的認知程度。
1、創(chuàng)建一個基窗體Form1,在窗體中放入三個TextBox,為別為TextBox1 TextBox2 TextBox3
2、為TextBox1增加KeyDown事件(當在TextBox1中按下ENTER鍵時,自動跳至TextBox2 ),代碼如下:
- Private Sub TextBox1_KeyDown
- (ByVal sender As Object, ByVal
- e As System.Windows.Forms.
- KeyEventArgs) Handles
- TextBox1.KeyDown
- If e.KeyCode = Keys.Enter
- Then TextBox2.Focus()
- End Sub
3、添加VB.NET窗體繼承,選擇Form1為基窗體,這樣就創(chuàng)建了一個繼承窗體。只是此時窗體內(nèi)的控件不能做修改(屬性/事件)
4、如果希望將繼承窗體中TextBox1的KeyDown事件修改,需要將基窗體中TextBox1中KeyDown事件修改為:
- Public Overridable Sub TextBox1_KeyDown
(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyEventArgs)
Handles TextBox1.KeyDown- If e.KeyCode = Keys.Enter Then
TextBox2.Focus()- End Sub
注意:此處將原來的“Private ” 修改為“Public Overridable”
而后下面的代碼復(fù)制到VB.NET窗體繼承中即可:
- Public Overrides Sub TextBox1_
KeyDown(ByVal sender As Object,
ByVal e As System.Windows.
Forms.KeyEventArgs) Handles
TextBox1.KeyDown- If e.KeyCode = Keys.Enter
Then TextBox3.Focus()- End Sub
5、此時繼承窗體中的TextBox1控件的屬性欄為灰色(即不能修改),如需要做控件屬性做修改操作,請修改基窗體中的代碼。#t#
在基窗體From1代碼[Windows 窗體設(shè)計器生成的代碼] 部分,找到
- Friend WithEvents TextBox1
As System.Windows.Forms.TextBox
將“Friend”修改為 “Public ”即可
6、VB.NET窗體繼承中需要注意的是:
在設(shè)計時,當生成包含基窗體的項目時,對基窗體外觀所做的更改(屬性的設(shè)置或控件的增減)將在繼承的窗體上反映。僅將更改保存到基窗體是不夠的。若要生成項目,請從“生成”菜單選擇“生成”。