VB问题 大写函数
答案:5 悬赏:50 手机版
解决时间 2021-03-03 05:09
- 提问者网友:轮囘Li巡影
- 2021-03-02 09:02
VB问题 大写函数
最佳答案
- 五星知识达人网友:一秋
- 2021-03-02 09:08
VB6.0可在文本框的KeyPress事件中判断键盘输入字符的keyascii参数做判断来自动转换。
KeyPress事件,此事件当用户按下和松开一个 ANSI 键时发生。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("a") And KeyAscii <= Asc("z") Then
KeyAscii = KeyAscii - 32
End If
End Sub或者使用Ucase函数在文本框的KeyPress事件中来转换。
UCase 函数,返回 Variant (String),其中包含转成大写的字符串。
Option Explicit
Dim Char
Private Sub Text1_KeyPress(KeyAscii As Integer)
Char = Chr(KeyAscii)
KeyAscii = Asc(UCase(Char))
End Sub
KeyPress事件,此事件当用户按下和松开一个 ANSI 键时发生。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("a") And KeyAscii <= Asc("z") Then
KeyAscii = KeyAscii - 32
End If
End Sub或者使用Ucase函数在文本框的KeyPress事件中来转换。
UCase 函数,返回 Variant (String),其中包含转成大写的字符串。
Option Explicit
Dim Char
Private Sub Text1_KeyPress(KeyAscii As Integer)
Char = Chr(KeyAscii)
KeyAscii = Asc(UCase(Char))
End Sub
全部回答
- 1楼网友:你可爱的野爹
- 2021-03-02 12:13
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii <= 122 Then KeyAscii = KeyAscii - 32
Text1.SelStart = Len(Text1.Text)
me.caption="字符串长度为:" & len(text1.text)+1
End Sub
If KeyAscii >= 97 And KeyAscii <= 122 Then KeyAscii = KeyAscii - 32
Text1.SelStart = Len(Text1.Text)
me.caption="字符串长度为:" & len(text1.text)+1
End Sub
- 2楼网友:持酒劝斜阳
- 2021-03-02 11:47
这样岂不更好:
Private Sub Text1_Change()
Dim N As Long
N = Text1.SelStart
Text1.Text = UCase(Text1.Text)
Text1.SelStart = N
End Sub
Private Sub Text1_Change()
Dim N As Long
N = Text1.SelStart
Text1.Text = UCase(Text1.Text)
Text1.SelStart = N
End Sub
- 3楼网友:逃夭
- 2021-03-02 11:23
Private Sub Text1_Change()
Text1.Text = UCase(Text1.Text)
Text1.SelStart = Len(Text1.Text)
End Sub
Text1.Text = UCase(Text1.Text)
Text1.SelStart = Len(Text1.Text)
End Sub
- 4楼网友:廢物販賣機
- 2021-03-02 10:31
private sub text1_change()
dim i as long
for i=1 to len(text1.text)
if asc(mid(text1.text,i,1))>96 and asc(mid(text1.text,i,1))<123 then
text1.text=mid(text1.text1,i-1) & ucase(mid(text1.text,i,1)) & mid(text1.text,i+1)
end if
next
end if
显示字符串长度太简单了:
msgbox "字符串长度:" & len(text1.text)
ps:处理大小写以及限制输入的字符范围常用的办法有三个,分别是在发生下面三个事件时处理:Change、KeyDown、KeyPress
区别:
1.Change能够处理Ctrl+V和鼠标右键粘贴的情况,其他两种不能
2.KeyDown和KeyPress在用于限制字符输入(比如只允许输入数字)的时候比Change有优势
3.KeyDown能够处理控制键(比如上下左右箭头、PageDown、PageUP等),而其他两种不能处理
使用时,可以权衡利弊,选择使用哪一种。一般建议使用Change,因为文本框屏蔽右键菜单很麻烦,所以无法阻止粘贴,这时只能用Change。
dim i as long
for i=1 to len(text1.text)
if asc(mid(text1.text,i,1))>96 and asc(mid(text1.text,i,1))<123 then
text1.text=mid(text1.text1,i-1) & ucase(mid(text1.text,i,1)) & mid(text1.text,i+1)
end if
next
end if
显示字符串长度太简单了:
msgbox "字符串长度:" & len(text1.text)
ps:处理大小写以及限制输入的字符范围常用的办法有三个,分别是在发生下面三个事件时处理:Change、KeyDown、KeyPress
区别:
1.Change能够处理Ctrl+V和鼠标右键粘贴的情况,其他两种不能
2.KeyDown和KeyPress在用于限制字符输入(比如只允许输入数字)的时候比Change有优势
3.KeyDown能够处理控制键(比如上下左右箭头、PageDown、PageUP等),而其他两种不能处理
使用时,可以权衡利弊,选择使用哪一种。一般建议使用Change,因为文本框屏蔽右键菜单很麻烦,所以无法阻止粘贴,这时只能用Change。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯