在VB.NET的窗體編輯過程中碰到了很多和VB中不一樣的地方,下面來舉例說明:
一、窗體
1.首先就是窗體的Load事件,和以往一樣沒有什麼好說的,關鍵在于窗體的close事件,在vb.net中,窗體的關閉不是用的unload,而用的是close()一個關閉函數,而觸發的事件也由原來的unload和querity unload變為了closeing和close,具體的發生順序是先closeing再close,closeing隻得就是窗體關閉的一瞬間還沒有觸發關閉事件的時候,相當于VB中的安全關閉,close是窗體已經解除安裝的差不多了才觸發的事件,多用于窗體關閉後的處理。而在closeing事件中的函數聲明處有一個參數 e As FormClosingEventArgs 這就是關閉窗體的觸發對象,窗體關閉和這個變量有密切關系,和VB中的cancel差不多,當e.Cancel = True的時候就不會退出,等于False的時候就會退出的,這要注意,是以寫判斷是否退出的代碼要這麼寫:
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If (MessageBox.Show("确定要退出嗎?", "提示對話框", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = DialogResult.No) Then
e.Cancel = True
End If
End Sub
2.窗體 控件的屬性也有變化,不知道同學們有沒有發現這樣的一個屬性:Anchor,這個屬性是綁定控件到窗體的邊緣,當窗體變動時保持和窗體的距離不變,這在某些情況下解決了窗體變化而控件不動的問題。
3.窗體在使用預設按鈕的屬性上也有差别,在VB6.0中是用的按鈕的default和cancel屬性,而現在窗體上的AcceptButtion和CancelButton代替了他們的位置,設定預設按鈕要這樣設定。
這樣也確定了隻有一個按鈕是預設按鈕。
二、零散控件
總體上看,控件的部分有一些小變化,但是最大的改變就是取消了控件數組,還有形狀控件,所有的顯示文字的屬性一律改為了text而不是原來的caption和text了,下面是小部分的更改
1.Timer控件
Timer控件在根本上是沒有變化的,隻是在方法上有變化,以前是Timer事件,現在是dick(拟聲詞)事件,然後屬性上預設是enable是false,interval為100,這一點很是人性化。
2.TextBox
基本上沒有什麼變化,隻是預設隻能調長度,寬度是根據字型來的,要是想随意大小,需要把multiline的屬性設定為true。
3.NumericUpDown(新)
一個可以調節數字的控件,按上下的按鈕是增減,且隻是增減一個數字,很是友善設定數值的時候使用,具體的值得屬性就是value。:
4.ToolStrip(新)
工具欄控件,可以再這個欄上放lable,button,textbox等部分控件,可以實作在上下左右都建立工具欄的功能,對于一些功能的設計還真的是很有用。
5.MenuStrip(原菜單)
這個按理來說應該不算是新的,但是他的出現方式确實是很特别,和工具欄類似,但是上邊隻有菜單的選項,可以随心建立菜單按鈕。
6.ContexMenuStrip(右擊菜單)
可以定義右擊菜單,可以在部分控件和窗體上設定右擊菜單是哪一個,然後使用,很是友善,省去了VB6.0中的滑鼠事件。
7.DataGridView
在這裡代替了原來VB6.0裡面的資料表控件,功能也更加的強大了,可以直接連接配接資料庫,還可以自定義資料表頭,非常友善使用。
三、總結
通過學習了新的窗體控件,還有在其中遇到的困難讓我越來越發現真的是和VB一樣的地方很多,米老師讓先學習VB的理念真的是對的,是以我們不要怕學不會,真正怕的是不學。