程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> vb的屬性、方法和事件(二)

vb的屬性、方法和事件(二)

編輯:VB6

單擊按鈕執行操作

使用戶與應用程序交互的最簡便的方法是給用戶提供一個按鈕。可以用Visual Basic 提供的 CommandButton 控件,或利用包含圖形的 Image 控件,如一個圖標,來創建自己的“按鈕”。

使用 CommandButton
大多數 Visual Basic 應用程序都有 CommandButton,使用戶通過簡單的敲擊按鈕來執行操作。當用戶選中按鈕時,不僅會執行相應操作,還會使該按鈕看上去象被按下並釋放一樣。無論何時,只要用戶單擊按鈕,就會調用 Click 事件過程。將代碼寫入 Click 事件過程,執行想要執行的動作。
在程序執行時,有多種方法可以選中 CommandButton :
用鼠標單擊按鈕。
按 TAB 鍵把焦點移到相應按鈕上,然後按 SPACE 鍵或 ENTER 鍵選中該按鈕。參閱本章後面的“焦點概述”。
按 CommandButton 的快捷鍵(ALT +下劃線的字符)。
在代碼中設 CommandButton 的 Value 屬性為 True。 cmdClose.Value = True
在代碼中調用 CommandButton 的 Click 事件。 cmdClose_Click
如果該 CommandButton 是窗體的缺省命令按鈕,既使將焦點移到其它不是 CommandButton 的控件上,按下回車鍵也會選中該按鈕。在設計時,通過設置某按鈕的 Default 屬性為 True ,指定它為窗體的缺省CommandButton 。
如果該 CommandButton 是窗體的缺省的取消按鈕,即使把焦點移到其它控件上,也能通過按 ESC 鍵選中該按鈕。在設計時,通過設置某按鈕的 Cancel 屬性為 True,指定它為窗體的缺省的取消按鈕。 所有這些操作都使 Visual Basic 調用 Click 事件過程。

“測試按鈕”應用程序
利用 Caption 屬性可以在按鈕上顯示文字,告訴用戶該按鈕的功能。在圖3.4 中,在控件示例應用程序的測試按鈕范例中包含一個 Caption 屬性為"Change Signal" 的 CommandButton(此例的工作為Controls.vbp 示例應用程序中的 Buttons.frm)。
注意,S 是這個按鈕的快捷鍵,用一條下劃線表示。在 Caption 屬性的正文內插入一個 (&) 符號,將使得此符號後面的字符成為該按鈕的快捷鍵(例如,Change &Signal)。
用戶單擊 CommandButton,將執行該 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 尺寸以適應其內容
設計時可在“屬性”窗口中指定單行 Label 的標題。但是如果要輸入一個較長的或在運行時可能變化的標題,該怎麼辦呢?Label 提供了兩種屬性:AutoSize 和 WordWrap,用於幫助您改變控件尺寸以適合較長或較短的標題。
AutoSize 屬性決定控件是否自動改變尺寸以適應其內容。如該屬性設為True,Label 就會根據其內容進行水平方向變化,如圖 3.5 所示。

WordWrap 屬性使 Label 根據其內容進行垂直方向變化,而保持其寬度不變,如圖3.6 所示。本例的工作版,請參閱應用程序示例 Controls.vbp 中的 WordWrap.frm。
注意 如果在 Controls.vbp 中運行AotoSize示例,就會發現為了同時使用 WordWrap,必須兩個復選框都選中。這是因為,要想使 Label 的WordWrap 屬性起作用,就必須設置 AutoSize 為 True。只有在一個單字的寬度超過控件的當前寬度時,Label 的寬度才會增加。
詳細信息 關於 Label 控件屬性的詳細信息,請參閱第七章“使用 VisualBasic 的標准控件”。

使用 Text Boxes
TextBox 是一種通用控件,可以由用戶輸入文本或顯示文本。除非把TextBox 的 Locked 屬性設為 True,否則不能用 TextBox 顯示不希望用戶更改的文本。
TextBox 中顯示的實際文本是受 Text 屬性控制的。Text 屬性可以用三種方式設置:設計時在“屬性”窗口進行、運行時通過代碼置或在運行時由用戶輸入。通過讀 Text 屬性能在運行時檢索 TextBox 的當前內容。
多行 Text Box 和 Word Wrap
TextBox 在缺省情況下只顯示單行文本,且不顯示 ScrollBar。如果文本長度超過可用空間,則只能顯示部分文本。通過設置 MultiLine 和 ScrollBars兩種屬性(只能在設計程序時設置),可以改變 TextBox 的外觀和行為。
注意 不要把 ScrollBars 屬性與 ScrollBar 控件混淆,ScrollBar 控件並不屬於 TextBox,它具有自己的屬性集。
把MultiLine屬性設為True,可以使 TextBox 在運行時接受或顯示多行文本。只要沒有水平方向ScrollBar,多行TextBox 中的文本會自動按字換行。ScrollBars 屬性的缺省值被設置為0(None)。自動按字換行省去用戶在行尾插入換行符的麻煩。當一行文本已超過所能顯示的長度時,TextBox自動將文本折回到下一行顯示。
在設計時,不能在“屬性”窗口輸入換行符。在過程中,可以通過插入一個回車加上換行符(ANSI 字符 13 和 0)來產生一個行斷點。也可以用常量 vbCrLf 插入一個回車與換行符組合。例如,下面的事件過程是在加載窗體時,把兩行文本放入一個多行 TextBox (Text1) 中的示例。
Sub Form_Load ()
Text1.Text = "Here are two lines" _
& vbCrLf & "in a text box"
End Sub

使用 TextBox 中的文本
利用 TextBox 的 SelStart、SelLength 和 SelText 屬性,可以控制 TextBox的插入點和選擇行為。這些屬性僅能在運行時使用。
當一個 TextBox 首次得到焦點時,TextBox 缺省的插入點和光標位置在文本的最左邊。用戶可以用鍵盤和鼠標移動它們。當 TextBox 失去焦點而後再得到時,插入點位置與用戶最後設置的位置一樣。
在有些情況下,它可能與用戶設置不一致。如:在字處理應用程序中,用戶會希望新字符出現在已有文本後面;在數據項應用程序中,用戶會希望他的輸入替換原有條目。使用 SelStart 和 SelLength 屬性,用戶可以根據需要改變 TextBox 的行為。
SelStart 屬性是一個數字,指示文本串內的插入點,其中 0 表示最左邊的位置。如果 SelStart 屬性值大於或等於文本中的字符數,那麼插入點將被放在最後一個字符之後,如圖 3.7 所示。該例子的工作版,請參閱應用程序示例 Controls.vbp 中的 Text.frm。 SelLength 屬性是一個設置插入點寬度的數值。把SelLength設為大於 0 的值,會選中並突出顯示從當前插入點開始的SelLength個字符。圖3.8 顯示選擇的性能。
如果有一段文本被選中,此時用戶鍵入的文字將替換被選中的文本。有些情況下,也可以用粘貼命令用新文本替換原有的文本。 SelText 屬性是一串文本,可以在運行時給它賦值以替換當前選中的文本。如果沒有選中的文本, SelText 將在當前插入點插入文本。
詳細信息 關於 TextBox 控件的屬性的詳細信息,請參閱第七章“使用Visual Basic 的標准控件”。

詳細信息 關於 TextBox 控件的屬性的詳細信息,請參閱第七章“使用Visual Basic 的標准控件”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved