VisualBasic屬性、方法和事件二

字號:

單擊按鈕執(zhí)行操作
     使用戶與應用程序交互的最簡便的方法是給用戶提供一個按鈕??梢杂肰isual Basic 提供的 CommandButton 控件,或利用包含圖形的 Image 控件,如一個圖標,來創(chuàng)建自己的“按鈕”。
     使用 CommandButton
     大多數(shù) Visual Basic 應用程序都有 CommandButton,使用戶通過簡單的敲擊按鈕來執(zhí)行操作。當用戶選中按鈕時,不僅會執(zhí)行相應操作,還會使該按鈕看上去象被按下并釋放一樣。無論何時,只要用戶單擊按鈕,就會調(diào)用 Click 事件過程。將代碼寫入 Click 事件過程,執(zhí)行想要執(zhí)行的動作。
     在程序執(zhí)行時,有多種方法可以選中 CommandButton :
     用鼠標單擊按鈕。
     按 TAB 鍵把焦點移到相應按鈕上,然后按 SPACE 鍵或 ENTER 鍵選中該按鈕。參閱本章后面的“焦點概述”。
     按 CommandButton 的快捷鍵(ALT +下劃線的字符)。
     在代碼中設 CommandButton 的 Value 屬性為 True。 cmdClose.Value = True
     在代碼中調(diào)用 CommandButton 的 Click 事件。 cmdClose_Click
     如果該 CommandButton 是窗體的缺省命令按鈕,既使將焦點移到其它不是 CommandButton 的控件上,按下回車鍵也會選中該按鈕。在設計時,通過設置某按鈕的 Default 屬性為 True ,指定它為窗體的缺省CommandButton 。
     如果該 CommandButton 是窗體的缺省的取消按鈕,即使把焦點移到其它控件上,也能通過按 ESC 鍵選中該按鈕。在設計時,通過設置某按鈕的 Cancel 屬性為 True,指定它為窗體的缺省的取消按鈕。 所有這些操作都使 Visual Basic 調(diào)用 Click 事件過程。
     “測試按鈕”應用程序
     利用 Caption 屬性可以在按鈕上顯示文字,告訴用戶該按鈕的功能。在圖3.4 中,在控件示例應用程序的測試按鈕范例中包含一個 Caption 屬性為"Change Signal" 的 CommandButton(此例的工作為Controls.vbp 示例應用程序中的 Buttons.frm)。
     注意,S 是這個按鈕的快捷鍵,用一條下劃線表示。在 Caption 屬性的正文內(nèi)插入一個 (&) 符號,將使得此符號后面的字符成為該按鈕的快捷鍵(例如,Change &Signal)。
     用戶單擊 CommandButton,將執(zhí)行該 CommandButton 的 Click 事件過程中的代碼。在這個范例中,每次單擊按鈕,將變換一個不同的交通燈圖標。
     詳細信息 關于 CommandButton 的屬性的詳細信息,請參閱第七章“使用Visual Basic 的標準控件”。
    用于顯示和輸入文本的控件
     Label 和 TextBox 控件是用于顯示和輸入文本的。讓應用程序在窗體中顯示文本時使用 Label,允許用戶輸入文本時用 TextBox。Labels 中的文本為只讀文本,而 TextBox 中的文本為可編輯文本。
     可由用戶編輯的文本,例如一個順序條目     TextBox
     字段或一個密碼框
     只能顯示的文本,例如在窗體中標識一個     Label
     字段或給用戶顯示指令
     Labels 和 TextBoxes 將在以下部分討論:
    用 Label 顯示文本(vbconUsingLabels)使用 Label 控件的基本知識。
    使用 TextBox(vbconWorkingWithTextBox)使用 TextBox 的基本知識。
     用 Label 顯示文本
     Label 控件顯示的文本用戶不能直接修改。如 TextBox 和 ScrollBar 這些沒有自己的 Caption 屬性的控件,可以用 Label 標識。在 Label 中實際顯示的文本是由 Caption 屬性控制的,該屬性可以在設計時在“屬性”窗口中設置或在運行時用代碼賦值。
     在缺省情況下,標題是 Label 控件中的可見部分。但是,如果把BorderStyle 屬性設成 1(可以在設計時進行),那么 Label 就有了一個邊框,看起來像一個 TextBox。還可以通過設置 Label 的 BackColor、BackStyle、ForeColor 和 Font 屬性來,改變 Label 的外觀。
     改變 Label 尺寸以適應其內(nèi)容
     設計時可在“屬性”窗口中指定單行 Label 的標題。但是如果要輸入一個較長的或在運行時可能變化的標題,該怎么辦呢?Label 提供了兩種屬性:AutoSize 和 WordWrap,用于幫助您改變控件尺寸以適合較長或較短的標題。
     AutoSize 屬性決定控件是否自動改變尺寸以適應其內(nèi)容。如該屬性設為True,Label 就會根據(jù)其內(nèi)容進行水平方向變化,如圖 3.5 所示。
     WordWrap 屬性使 Label 根據(jù)其內(nèi)容進行垂直方向變化,而保持其寬度不變,如圖3.6 所示。本例的工作版,請參閱應用程序示例 Controls.vbp 中的 WordWrap.frm。
     注意 如果在 Controls.vbp 中運行AotoSize示例,就會發(fā)現(xiàn)為了同時使用 WordWrap,必須兩個復選框都選中。這是因為,要想使 Label 的WordWrap 屬性起作用,就必須設置 AutoSize 為 True。只有在一個單字的寬度超過控件的當前寬度時,Label 的寬度才會增加。
     詳細信息 關于 Label 控件屬性的詳細信息,請參閱第七章“使用 VisualBasic 的標準控件”。
     使用 Text Boxes
     TextBox 是一種通用控件,可以由用戶輸入文本或顯示文本。除非把TextBox 的 Locked 屬性設為 True,否則不能用 TextBox 顯示不希望用戶更改的文本。