1. 程式人生 > >機房重構——常用控制元件的總結

機房重構——常用控制元件的總結

在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的理念真的是對的,所以我們不要怕學不會,真正怕的是不學。