1樓:匿名使用者
在窗體上新增兩個命令按鈕,將第二個命令按鈕command2的index屬性設定為0,下面的**實現點選command1按鈕,將新增一個按鈕,並自動排列。
option explicit '輸出十個命令控制元件。
dim i as integer
private sub command1_click()i = i + 1
load command2(i)
command2(i).visible = truecommand2(i).left = command2(0).left
command2(i).top = command2(i - 1).top + command2(i - 1).height + 100
end sub
2樓:匿名使用者
怎麼樣才能讓控制元件需要按下才能出現?
說的什麼意思?
關於vb的winsock控制元件的狀態問題
3樓:
看明白了,碰見過。
這是因為winsock的connect方法不是同步的,(我的猜測是)connect語句的執行和實質上的連線過程是在不同執行緒中完成的。因此往往。
雖然執行完畢但還沒有真正連線上,winsock仍然停留在6狀態,此時接下來的。
"ttt"就自然會失敗。
給出兩個解決方案。
第一種是把連線和發資料分開到兩個按鈕的事件裡,這樣就有足夠的時間讓winsock真正連線上。**就不寫了,很容易實現。
第二種,如果不願意用兩個按鈕,一定要連線好之後立刻發資料的話,可以在一個迴圈裡輪詢winsock1的狀態,直到變成7,注意迴圈裡最好有sleep和doevents來釋放cpu,否則有造成假死的風險。以下是**。
首先要宣告sleep的win32 api
private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)
sub command1_click()
do until
sleep 1
doevents
避免假死。loop
"ttt"end sub
參考資料。
4樓:匿名使用者
偶然看到了這個問題,新增兩個方案。
timer裡面執行連結操作和傳送資料。
全域性變數tm1i=0
tm1i=tm1i+1
select case tm1i
case 1
connect
case2if state=7 then senddatadoevents
end select
2.伺服器在連線成功後傳送一條資訊,在你的程式設計師dataarrive裡面收到這條資訊後傳送資料。
關於vb模組的問題
5樓:黑科技
分類: 電腦/網路 >>程式設計 >>其他程式語言。
問題描述:在vb中什麼時候需要設定模組呢?模組到底是用來幹什麼的?
解析: vb模組也稱**模組:
visual basic 的**儲存在模組中。模組有三種型別:窗體、標準和類。
簡單的應用程式可以只有一個窗體,應用程式的所有**都駐留在窗體模組中。而當應用程式龐大複雜時,就要另加窗體。最終可能會發現在幾個窗體中都有要執行的公共**。
因為不希望在兩個窗體中重複**,所以要建立一個獨立模組,它包含實現公共**的過程。獨立模組應為標準模組。此後可以建立一個包含共享過程的模組庫。
每個標準模組、類模組和窗體模組都可包含:
宣告。可將常數、型別、變數和動態連結庫 (dll) 過程的宣告放在窗體、類或標準模組的模組級。
過程。sub、function 或者 property 過程包含可以作為單元來執行的**片段。
窗體模組。窗體模組(副檔名為 .frm )是大多數 visual basic 應用程式的基礎。
窗體模組可以包含處理事件的過程、通用過程以及變數、常數、型別和外部過程的窗體級宣告。如果要在文字器中觀察窗體模組,則還會看到窗體及其控制元件的描述,包括它們的屬性設定值。寫入窗體模組的**是該窗體所屬的具體應用程式專用的;它也可以引用該應用程式內的其它窗體或物件。
標準模組。標準模組(副檔名為 .bas)是應用程式內其它模組訪問的過程和宣告的容器。
它們可以包含變數、常數、型別、外部過程和全域性過程的全域性(在整個應用程式範圍內有效的)宣告或模組級宣告。寫入標準模組的**不必綁在特定的應用程式上;如果不小心用名稱引用窗體和控制元件,則在許多不同的應用程式中可以重用標準模組。
類模組。在 visual basic 中類模組(副檔名為 .cls)是物件導向程式設計的基礎。
可在類模組中編寫**建立新物件。這些新物件可以包含自定義的屬性和方法。實際上,窗體正是這樣一種類模組,在其上可安放控制元件、可顯示窗體視窗。
vb中控制元件是什麼啊?
6樓:信必鑫服務平臺
1、內建控制元件。
內建控制元件即visual basic工具箱中的控制元件,裡面包含了常見窗體程式所需要的控制元件。visual basic中,大部分的程式執行都是在事件中完成的。
2、activex控制元件。
activex控制元件包含不同版本visual basic提供的控制元件和僅在專業版、企業版中提供的控制元件,並且還包含第三方提供的控制元件。activex控制元件是對visual basic內建控制元件的擴充,開發人員可以根據個人需要進行隨意擴充,擴充的activex控制元件將在工具箱中顯示。
3、可插入物件。
在visual basic的工具欄中,可以放置其他的第三方物件,可以像使用控制元件一樣輕鬆使用。新增後的物件也在工具箱中顯示。
vb中關於模組問題。
7樓:網海1書生
controls是窗體的屬性,不是模組的屬性,所以把它放到模組中就會出錯了。
如果要把controls放在模組中使用,就要明確指定它的所屬窗體,比如 ,這樣就沒錯了。
補充說一下,之所以在窗體中可以直接用 controls,是因為當前窗體(即me)是預設值,可以省略不寫的,完整的寫法應該是
再補充說一下:並不是所有**都可以放到模組中的,如果是與窗體中的控制元件直接有關聯的**就不適合放到模組中。一般都是在多個窗體中公用的、與控制元件沒有直接關係的自定義函式或子過程才適合放到模組中。
再再補充一下:具體到你這個程式,你可以把列表框這個物件直接傳遞到你這個sosuolist子過程中,即:
public sub sosuolist(list as listbox, mypath as string)
然後下面就是。
list.additem myname
就行了,不用controls了。當然在窗體中呼叫這個子過程的時候也要改一下,比如:
sosuolistlist1, "d:\abc\"
注意list1這裡就不需要加引號了。
一些vb問題
8樓:匿名使用者
1、print輸出時,是靠逗號和分號來連線下一個輸出內容的,雖然逗號表示隔一段距離輸出,分號表示緊密相連,但是總是將本來應該下一行輸出的內容「拉」到同一行。
如果光溜溜的輸入一個print,後面自然不帶分號和逗號,那必然換行,輸出內容了,但是內容是「空」,你是看不見的。而這個「空」後面,不帶逗號和分號,後續輸出內容自然另成一行。
2、str表示將數字轉化成字元,所以裡面只能是數字,你如果純粹輸出數字比如print 5,得到的5前面也是有空格的,這個空格是放正負號的,不信你輸-5看看,由此,str轉化後,前面也得有空格。
3、可以修改,但是不建議這樣改,你可以在form_load的時候add進去。
4、想不想show,就看你自己需要不需要。
5、k的取值分別是10, 25 40,迴圈3次,掉出迴圈後k為55,s就是10+25+40
9樓:匿名使用者
1.不能 2.格式問題 3.可以 4.有多個視窗有時候
10樓:網友
能表示換行而非另加一空行嗎 【可以】,(n為數字)是字元,為什麼前後還有空格 【這個是vb的問題,可以用trim(str(n))】
3.下拉選單框的text屬效能在屬性視窗修改嗎 【可以,但需這個的style屬性值為0】
4.什麼時候formload 中要加show 【當你需要載入且顯示另一個未顯示(或隱藏了)的視窗時】
k=10 to 50 step 15s=s+k
next k
print s
s=75】s=多少。
問關於VB的問題,問一個關於VB的問題
執行順序如下 注 帶有 的是被執行的語句,後面的數字是被執行的順序。x 0 1 for i 1 to 10 2if i mod 2 1 then 3x x 1 4 else x x 1 end if 5 exit for 6 問題就出在這裡 你退出掉迴圈幹嘛 next i print x 7 結束所...
VB的一個問題,這是VB的一個問題?
sub func l as label,byval a as integer 此處i為label控制元件,a為一個byval 傳值變數 傳過來不傳回去的那種變數 1234 給label控制元件的內容賦值為 1234 即。a a a 此處計算確實得到變數a的平方,但是並沒有把值傳回去。end sub ...
一個關於vb程式設計的問題,關於VB程式設計的小問題
private sub command1 mousemove button as integer,shift as integer,x as single,y as single dim myvalue randomize myvalue int rnd 1 生成 窗體高度內的一個隨機數值。myva...