1樓:匿名使用者
你按p,就算你不寫任何**,系統也有一個操作:就是在文字框中插入"p"
keypress在系統插入p之前被執行,故text1.text="p"再加上你輸入的一個p,所以是"pp"
text2的change是系統插入p之後被執行,所以覆蓋了原來你插入的"p",變成了"p"
2樓:匿名使用者
keypress在按鍵顯示p之前產生,故text1.text="p"還有你輸入的一個p,所以有兩個
text2的change是你按鍵之後,所以只會有一個
3樓:匿名使用者
keypress執行時text1的文字顯示處理還沒有開始,在這時給text1複製了p。
當keypress事件處理完畢,處理text1的change事件時,系統才在text1的第一個位置插入一個p。
因此結果為pp。
第二個事件,實在text2的內容被系統改為p之後,才執行change事件,因此最後的結果是p替換了p變成只有p了。
textbox是在keypress事件之後將鍵入文字放入文字框的,因此出現了上述差異。
提示,這兩個例子用於研究可以,請不要用於實踐。他們干擾了系統的處理,會導致各種問題。
如果要處理按鍵,請在keydown和keyup中處理。
vb中的keypress事件與change事件的區別?
4樓:匿名使用者
text的keypress事件需用以下**:
private sub text1_keypress(keyascii as integer)
if keyascii = 13 then
print text1
end if
end sub
text的change事件**:
private sub text1_change()
clsprint text1
end sub
keypress 事件
此事件當使用者按下和鬆開一個 ansi 鍵時發生。
change 事件過程可協調在各控制元件間顯示的資料或使它們同步。
注意 一個 change 事件過程有時會導致一個層疊事件。這種情況在控制元件的 change 事件過程改變該控制元件的內容時會發生,例如,通過用**設定一個決定該控制元件的值的屬性,如對一個 textbox 控制元件的 text 屬性之類的設定。為了避免層疊事件:
如果可能,應避免為控制元件編寫能改變該控制元件內容的 change 事件過程。如果編寫了那樣的過程,應確保設定一個標誌用來防止在當前變化進行中更進一步的變化。
避免建立兩個或兩個以上其 change 事件過程互相影響的控制元件。例如,兩個 textbox 控制元件在它們的 change 事件期間互相更新。
vb keypress事件怎麼用?
5樓:匿名使用者
用法如下
private sub form_keypress(keyascii as integer)
print chr(keyascii);
end sub
6樓:匿名使用者
keypress就是獲取你所按的鍵的ascii碼,鍵盤上打的字可以直接在text控制元件中顯示出來。
7樓:匿名使用者
獲取字元 傳送給vb程式
vb keypress事件怎麼觸發?
8樓:匿名使用者
keyscii寫錯了,bai少了a
dim x%, y%, z%
private sub text1_keypress(keyascii as integer)
dim c$
c = chr(keyascii)
if keyascii = 13 then'如果回du車zhi不想計算dao在內的話,就放
版在前面權
print x, y, z
exit sub
end if
if ucase(c) >= "a" and ucase(c) <= "z" then
x = x + 1
elseif c >= "0" and c <= "9" theny = y + 1
else
z = z + 1
end if
end sub
關於vb中shell非同步執行,(VB中)預設情況下,Shell函式是以非同步方式來執行其它程式的,那如果要同步執行程式,要怎麼做?
一 先複製下面函式 function shell ex exename as string as boolean dim id as long,name as string name mid exename,instrrev exename,1 id shell exename,vbnormalfo...
VB求前N項和急
新新菜鳥手 function sum byval n as integer as string dim i as integer dim a as double dim b as integer b 1 if n 2 then sum 1 exit function end if for i 2 t...
VB程式設計。啊啊啊。急求
private sub command1 click dim gs as integer gs 0 for i 1 to 20 for j 1 to 100 5 ik 100 i j if 5 i j 0.5 k 100 thengs gs 1 print i 張5元 j 張1元 k 張5毛 end...