Visual Basic 程式設計問題解答

2021-03-31 08:56:59 字數 3835 閱讀 5680

1、如果一行程式太長,查閱起來很麻煩,能不能換行?

vb的程式**是允許換行書寫的,只要在每次換行的最後乙個字元加上換行字元「_」就可以了。例如:

sub picmove()

frm.picture2.left = frm.picture1.left + _ 』加上換行符

frm.picture1.width

end sub

2、如何在設計的時候清空存在的?

用滑鼠點中該,在屬性視窗中選中picture屬性,按del鍵便可清空。

3、visual basic 如何注釋一段較長程式**?

vb注釋程式**的符號是「'」,只要在某行程式前面加上「'」,就可以注釋該行程式。但如果程式**很長的時候,一行一行地注釋令人覺得難以忍受。vb本身提供了這個功能,在主選單「檢視」選項的「工具欄」下,選中edit,vb的介面會出現一排工具按鈕,其中的手形圖示按鈕後的兩個按鈕用於「設定注釋塊」和「解除注釋塊」。

4、怎麼實現滑鼠一移上去就出現小提示視窗的功能?

5、如何獲得當前軟體的執行磁碟目錄和命令列引數?

6、我想換掉滑鼠顯示的形狀,怎麼做?

vb提供的系統控制項一般都有mousepointer和mouseicon屬性。我們可以尋找自己喜歡的*.ico,*.cur檔案,實現的程式如下:

screen.mousepointer= 99 』使用者滑鼠型別

screen.mouseicon=loadpicture("c:/abc/1.ico") 』讀取滑鼠的圖示檔案

7、如何設定程式的錯誤出口?

on error語句用於程式的錯誤出口處理。一般的處理方法有兩種。

1) 遇到錯誤跳轉到某一行程式去執行,on error goto someline。

例如:

on error goto err_line

...

label1.caption=「正確執行」

err_line:

...

label1.caption=「出錯了!」

2) 遇到錯誤之後忽略當前錯誤,繼續執行,on error resume next。

例如:

on error resume next

...

label1.caption=「不管對不對都要執行」

...

8、怎樣獲得鍵盤輸入和判斷敲鍵的ascii值?

把窗體的keypreview屬性設定成true,然後在form_keypress 事件裡編寫程式**如下:

private sub form_keypress(keyascii as integer)

me.caption = str(keyascii) 『取得鍵盤輸入的字元

...

end sub

9、我希望窗體一執行就在螢幕的**,怎麼實現?

vb的系統物件screen記錄了當前顯示模式的高度和寬度,可以利用這個值來設定窗體的位置。

sub centerform(frm as form) 『定義過程

frm.move (screen.width - frm.width) / 2, (screen.height - frm.height) / 2

end sub

private sub form_load()

centerform me 』呼叫過程

end sub

10、很多軟體都有滑鼠在文字框textbox一按下,就選中所有文字的功能,是怎麼實現的?

private sub text1_gotfocus()

text1.selstart = 0

text1.sellength = len(text1.text) 』過程呼叫

end sub

11、如何遮蔽列表框***bo的鍵盤輸入?

private sub ***bo1_keypress(keyascii as integer)

keyascii=0 『ascii碼為0的字元是空操作

end sub

12、如何使一行字串垂直顯示?

』自定義函式rotatestring:垂直顯示字串

function rotatestring(in_str as string) as string

dim tmpstr as string

』把每個字元都取出來加上回車換行符號

for i = 1 to len(in_str)

tmpstr = tmpstr + mid$(in_str, i, 1) & vbcrlf 『 vbcrlf是回車換行符

next i

rotatestring = tmpstr

end function

『函式呼叫

private sub form_click()

label1.caption = rotatestring("你知道我在這裡嗎?")

end sub

13、我想在窗體中按下滑鼠右鍵就彈出乙個選單,怎麼做?

首先按下選單編輯器設計乙個選單popmenu,把選單的visible設定成false。在form_mousedown事件中編寫程式如下:

if button = 2 』滑鼠右鍵按下

popupmenu popmenu

end if

14、visual basic裡面的整數和字串如何互相轉換?

vb提供了系統函式val()和str(),可以用來實現整數和字串之間的轉換。

例子如下:

sub str2int()

dim int1 as integer

dim str1 as string

int1=100

str1=str(int1) 『整數轉換成字串

debug.print str1

str1=「400」

int1=val(str1) 『字串轉換成整數

debug.print int1

end sub

15、我可以在乙個窗體裡執行別的窗體的程式**嗎?

是可以的,我們可以用「窗體.**」的模式去執行別的窗體的代

碼。先假設我在窗體frm2裡要執行窗體frm1的form_click**,程

序如下:

private sub form_click()

frm1.form_click() 』在frm2裡執行frm1的from_click**

end sub

16、如何在不改變陣列內容的情況下重定義陣列的範圍?

redim可以用來重新定義陣列的範圍,重定義後還要保留陣列的原值,可以用preserve說明。

例如:

sub redim_data()

dim tmpdim() as integer 』定義乙個未知範圍的陣列

redim tmpdim(10) 』設定陣列的範圍

tmpdim(0)=1

tmpdim(1)=2

redim preserve tmpdim(20) 』重新設定陣列的範圍,並保留資料

debug.print tmpdim(0), tmpdim(1),

end sub

Visual Basic10個小程式設計

1 如果一行程式太長,能不能換行?vb的程式 是允許換行書寫的,只要在每次換行的最後乙個字元加上換行字元 就可以了。例如 sub picmove frm.picture2.left frm.picture1.left 加上換行符 frm.picture1.width end sub 2 如何在設計的...

Visual Basic10個小程式設計

1 如果一行程式太長,能不能換行?vb的程式 是允許換行書寫的,只要在每次換行的最後乙個字元加上換行字元 就可以了。例如 sub picmove frm.picture2.left frm.picture1.left 加上換行符 frm.picture1.width end sub 2 如何在設計的...

在Visual Basic程式設計中運用資料結構

在visual basic程式設計中運用資料結構 章新蘇 江蘇省水利科學研究所材料結構室 摘要 本文討論了在vb程式設計中利用陣列和自定義資料型別構造鍊錶 棧和佇列等資料結構的方法。1 引言basic 語言擁有較高的普及率,同時在 windows 作業系統中 visual basic 以功能強 量小...