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...