vb宣告控制項名,vb中用變數表示控制項名

時間 2022-05-28 08:35:04

1樓:常山大寶

dim q 這裡把q定義為了變數。而非控制項型別。

同時,picturebox 控制項的 name 是唯讀屬性,不能通過**進行更改的!

如果想實現控制項動態控制的目的,你可以通過建立動態的控制項陣列來實現。比如:

開啟窗體的設計檢視,選中窗體內的 picture1 控制項,控制項屬性中給 index 賦值 0

在 command1 **中,通過 load 物件名(index) 的方法新增新的控制項組元素。

注:可以使用 unload 物件名(index) 的方法去除控制項組中的元素。

因此,你的**可以參考下面這樣來寫:

dim i as integer

i = me.text1 ' 這裡 text1 裡面輸入的內容必須是 integer 資料型別

load me.picture1(i)

me.picture1(i).width = me.text2

載入**

me.picture1(0).visible = false ' 設定 picture1(0) 控制項不可見

me.picture1(i).visible = true ' 設定 picture1(i) 控制項可見

需要注意的是:

1、當 i 的值增加次數多時,最好用 unload me.picture1(i) 去除前面新增的控制項組元素。

2、由於是人為的輸入 i 值,注意控制項名稱重複的錯誤(即 i 值相同)處理。

3、必須把之前新增的 picture1(i) 控制項組元素全部設為不可見,否則,最後新增的控制項不顯示。

2樓:浪花飄零

可以用下面的方法來實現你的要求

private sub command1_click()dim q as textbox '定義q為textbox型別指標

copymemory byval varptr(q), objptr(text1), 4 '取得text1的首位址

q.width = 3280 'q.width = text2.text 不成立

end sub

3樓:匿名使用者

private sub command1_click()if isnumeric(text2.text) thendim w as integer

w = val(text2.text)

dim c as control

for each c in me.controlsif c.name = text1.text thenc.width = w

end if

next c

else

msgbox ("寬度必須為數字")

end if

end sub

4樓:匿名使用者

private sub command1_click()text1.text = text1.nametext2.text = 1000

text1.width = text2.textend sub

5樓:匿名使用者

變數q是可變型別變數 沒有width這個屬性

vb中用變數表示控制項名

6樓:匿名使用者

是做不到的,只能使用控制項陣列 其實呢,是有辦法實現的,但需要乙個vba6.dll控制項,然後宣告ebexecuteline函式,然後就可以使用 executeline 函式了,使用這語句 executeline text1.text 就可以執行在text1裡輸入的**。

private declare function ebexecuteline lib "vba6.dll" (byval pstringtoexec as long, byval unknownn1 as long, byval unknownn2 as long, byval fcheckonly as long) as long

7樓:匿名使用者

dim i as integer

for i = 1 to 10 '多少個你自己定load label1(i)

label1(i).caption = i '屬性自己定label1(i).left = label1(i - 1).left + 2000 '屬性自己定

label1(i).visible = true '設定為可視next i

8樓:匿名使用者

這個用陣列好做點dim label(10) as label

vb中控制項名稱可否定義為變數?

9樓:匿名使用者

不行的,你可以按樓上的方法預先定義控制項,也可以通過獲取控制項控制代碼的方法來實現對文字框的操作

10樓:匿名使用者

dim a as textbox

set a = text1

a.text = "dd"

怎麼宣告定義才是對的?vb option explicit 語句裡面控制項的名稱是不能隨便取的嗎?

11樓:匿名使用者

private sub lbligits_click(index as integer)

修改為:

private sub lbligits_click()

12樓:

窗體上面要有名為 lbligits 的按鈕控制項陣列。

13樓:匿名使用者

你這個是計算機項麼··我看了下

private sub lbligits_click(index as integer)

lbligits.caption = lbligits.caption + cmdigits(index).caption

end sub

應該改為

private sub cmdigits_click(index as integer)

lbligits.caption = lbligits.caption + cmdigits(index).caption

end sub

意思是你按數字按鈕顯示器上顯示出相對應的數字···

14樓:匿名使用者

你的 控制項: lbligits 是否是乙個控制項陣列,看看控制項的 index 屬性裡有沒有數字,如果沒有,就把private sub lbligits_click(index as integer)

修改為:

private sub lbligits_click()

vb中檔案的控制項名的名稱是什麼

15樓:匿名使用者

如果是指開啟檔案的對話方塊,則是:openfiledialog。

如果你需要裝文字檔案的內容,可以使用textbox或則richtextbox。

16樓:因為複雜

1、 name(名稱)屬性:**引用,是所有物件都具有的屬性,是建立物件的名稱。

比如:cmdtest、lbldisp

2、 caption(標題)屬性:該屬性決定了控制項上顯示的內容比如:cmdtest.caption=「測試」

VBA如何用變數表示控制元件名

如果該控制元件位於userform窗體中,那麼我們可以用controls集合來表示指定的控制元件,例如,userform1中有三個控制元件,label1,label2,textbox1 那麼,我們可以這樣表示 a 1 b 2 userform1.controls label a caption 表示...

vb全域性變數,vb全域性變數可以在哪裡宣告

public x as integer 宣告在form1中。但是其它窗體引用的時候必須這樣引用。所以你題目有兩種改法。一 form2中x 1改成 二 新建模組,在模組中定義public x as integer 全域性變數,只能在模組中定義,你需要在工程中插入乙個模組,然後將。public x as...

VB 的變數命名規則??vb中變數名的命名規則

b錯了因為vb變數名不能有空格答案應該是d 必須以字母開頭不能有特殊的名稱d選項沒問題。如果你這是 vb6,那麼就是題目錯了,vb6 的變數首字母只能是英文本母或者是漢字 僅限中文版 不能是下劃線。如果你這是 那麼就是選 c。這道應該選b選項!在變數中不能含有符號!首位不能是空格。看看吧。慢慢來。v...