小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使VB的網(wǎng)格控件具有輸入功能

 玉雪龍山999 2012-02-14

使VB的網(wǎng)格控件具有輸入功能

發(fā)布時(shí)間:2008-04-03 10:45:14  來源:編程愛好者網(wǎng)站  作者:編程愛好者網(wǎng)站  點(diǎn)擊:442

河北 王翠榮 王全海

我們?cè)谑褂肰isual Basic for Windows開發(fā)時(shí),經(jīng)常用到網(wǎng)格控件(Grid.vbx),因?yàn)榇丝丶梢杂脕碜黝愃朴陔娮颖砀裥问降妮敵霰?,且編程?jiǎn)單,但在此網(wǎng)格控件只有輸出功能,而不能直接在網(wǎng)格上輸入,這給使用者帶來一些不便。如何在執(zhí)行時(shí)向網(wǎng)絡(luò)控件中輸入數(shù)據(jù),人們使用了一些方法,但大都使用一文本控件作中間轉(zhuǎn)換,即將欲輸入的信息先輸入到該文本控件,然后將文本控件的TEXT屬性賦給網(wǎng)格的TEXT屬性,這種方法盡管解決了向網(wǎng)格輸入數(shù)據(jù)問題,但增加了一文本框,對(duì)界面有些不美觀,修改部分?jǐn)?shù)字不方便,且影響速度,那么,如何直接向網(wǎng)格輸入數(shù)據(jù)呢?
本文將解決直接向網(wǎng)格輸入數(shù)據(jù)問題,基本思想是:使用網(wǎng)格控件KeyPress事件,從鍵盤上接收所擊鍵位的KeyAscii值,再由Chr$()或Chr()函數(shù)轉(zhuǎn)換成字符,然后讀出網(wǎng)格單元的當(dāng)前Text值與由鍵盤接收到的字符相加,組成新的字符串,再賦給該單元的Text屬性,即Grid.Text=Grid.Text+Chr$(KeyAscii)。程序清單如下:
程序中定義了兩個(gè)Form級(jí)變量WgridCol%和WgridRow%。
Sub Grid-KeyPress(KeyAscii as Integer)
Grid.Col=WgridCol%
Grid.Row=WgridRow%
if KeyAscii=8Then `keyascii=8為退格刪除鍵
if Grid.Text<>””Then Grid.text=Mid$(Grid.text,
1,Len(Grid.text)-1)‘刪除最后一個(gè)字符
Else
Grid.text=Grid.text+Chr$(KeyAscii)
End if
End Sub
Sub Grid-RowColChange()
Wgrid.Col%=Grid.Col
Wgrid.Row%=Grid.Row
End Sub
這樣就可以實(shí)現(xiàn)對(duì)網(wǎng)格的任意輸入,可以輸入字符、數(shù)字等等。由于數(shù)字0到Array的Ascii值為48到57,小數(shù)點(diǎn)Ascii的值為46,所以可以輸入任意實(shí)數(shù)。若您想防止用戶輸入除數(shù)字、小數(shù)點(diǎn)以外的任何其他字符,可對(duì)來自于鍵盤的Ascii值進(jìn)行判斷,有條件地接收,就實(shí)現(xiàn)了僅輸入數(shù)值字符。同理也可以限制只輸入字母字符。
根據(jù)這種思想,也可以對(duì)VB中一切不具有輸入功能,但具有KeyAscii或者KeyDown事件的控件進(jìn)行直接輸入,如標(biāo)簽Label等。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多