十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
做一个TextBox,放在窗体外,Anchor设成Top, Right,不要设置Visible属性和Enabled属性,要输入的时候就TextBox1.Focus(),在TextBox1的TextChange事件里面画图
创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、四川电信机房托管、云服务器、雅安服务器托管、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、雅安服务器托管、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
不好的地方在于每一次输入都要先清空,你可以在图片框的背景哪里设置图片,在Image里面绘制文字
It3241的办法比我的更慢就是了
你是用输入法的吧,这个是.Net Framework的Bug吧,用输入法的步骤如下:
1、首先保证文本框有焦点
2、按下2次Ctrl+空格
3、切换到自己要用的输入法
这样一般都可以了
Private Sub TextBox1_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = "A" And e.KeyChar = "Z" Or e.KeyChar = "a" And e.KeyChar = "z" Then
e.Handled = False
Else
MessageBox.Show ("只能输入字母!")
e.Handled = True
Exit Sub
End If
End Sub
public string hz2py(string hz) //获得汉字的区位码
{
byte[] sarr = System.Text.Encoding.Default.GetBytes(hz);
int len = sarr.Length;
if (len1)
{
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes(hz);
int i1 = (short)(array[0] - '\0');
int i2 = (short)(array[1] - '\0');
//unicode解码方式下的汉字码
// array = System.Text.Encoding.Unicode.GetBytes(hz);
// int i1 = (short)(array[0] - '\0');
// int i2 = (short)(array[1] - '\0');
// int t1 = Convert.ToInt32(i1,16);
// int t2 = Convert.ToInt32(i2,16);
int tmp=i1*256+i2;
string getpychar="*";//找不到拼音码的用*补位
if(tmp=45217tmp=45252){getpychar= "A";}
else if(tmp=45253tmp=45760){getpychar= "B";}
else if(tmp=47761tmp=46317){getpychar= "C";}
else if(tmp=46318tmp=46825){getpychar= "D";}
else if(tmp=46826tmp=47009){getpychar= "E";}
else if(tmp=47010tmp=47296){getpychar= "F";}
else if(tmp=47297tmp=47613){getpychar= "G";}
else if(tmp=47614tmp=48118){getpychar= "H";}
else if(tmp=48119tmp=49061){getpychar= "J";}
else if(tmp=49062tmp=49323){getpychar= "K";}
else if(tmp=49324tmp=49895){getpychar= "L";}
else if(tmp=49896tmp=50370){getpychar= "M";}
else if(tmp=50371tmp=50613){getpychar= "N";}
else if(tmp=50614tmp=50621){getpychar= "O";}
else if(tmp=50622tmp=50905){getpychar= "P";}
else if(tmp=50906tmp=51386){getpychar= "Q";}
else if(tmp=51387tmp=51445){getpychar= "R";}
else if(tmp=51446tmp=52217){getpychar= "S";}
else if(tmp=52218tmp=52697){getpychar= "T";}
else if(tmp=52698tmp=52979){getpychar= "W";}
else if(tmp=52980tmp=53640){getpychar= "X";}
else if(tmp=53689tmp=54480){getpychar= "Y";}
else if(tmp=54481tmp=55289){getpychar= "Z";}
return getpychar;
}
else
{
return hz;
}
}
public string transpy(string strhz) //把汉字字符串转换成拼音码
{
string strtemp="";
int strlen=strhz.Length;
for (int i=0;i=strlen-1;i++)
{
strtemp+=hz2py(strhz.Substring(i,1));
}
return strtemp;
}
create table tabpy(id int identity,b_begin varbinary(2),b_end varbinary(2),word varchar(2))
insert tabpy select 0xB0A1, 0xB0C4,'A'
union all select 0xB0C5, 0xB2C0,'B'
union all select 0xB2C1, 0xB4ED,'C'
union all select 0xB4EE, 0xB6E9,'D'
union all select 0xB6EA, 0xB7A1,'E'
union all select 0xB7A2, 0xB8C0,'F'
union all select 0xB8C1, 0xB9FD,'G'
union all select 0xB9FE, 0xBBF6,'H'
union all select 0xBBF7, 0xBFA5,'J'
union all select 0xBFA6, 0xC0AB,'K'
union all select 0xC0AC, 0xC2E7,'L'
union all select 0xC2E8, 0xC4C2,'M'
union all select 0xC4C3, 0xC5B5,'N'
union all select 0xC5B6, 0xC5BD,'O'
union all select 0xC5BE, 0xC6D9,'P'
union all select 0xC6DA, 0xC8BA,'Q'
union all select 0xC8BB, 0xC8F5,'R'
union all select 0xC8F6, 0xCBF9,'S'
union all select 0xCBFA, 0xCDD9,'T'
union all select 0xCDDA, 0xCEF3,'W'
union all select 0xCEF4, 0xD1B8,'X'
union all select 0xD1B9, 0xD4D0,'Y'
union all select 0xD4D1, 0xD7F9,'Z'
函数:
create function getfirstpy(@a varchar(200))
returns varchar(100)
as
begin
declare @i int,@j int,@result varchar(100)
set @result=''
set @i=len(@a)
set @j=1
while @j=@i
begin
select @result=@result+word from tabpy where cast(substring(@a,@j,1) as varbinary(2)) between b_begin and b_end
set @j=@j+1
end
return @result
end
Private Function py(mystr As String) As String '获得汉字的拼音简码
On Error Resume Next
If Asc(mystr) 0 Then
If Asc(Left(mystr, 1)) Asc("啊") Then
py = "0"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("啊") And Asc(Left(mystr, 1)) Asc("芭") Then
py = "A"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("芭") And Asc(Left(mystr, 1)) Asc("擦") Then
py = "B"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("擦") And Asc(Left(mystr, 1)) Asc("搭") Then
py = "C"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("搭") And Asc(Left(mystr, 1)) Asc("蛾") Then
py = "D"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("蛾") And Asc(Left(mystr, 1)) Asc("发") Then
py = "E"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("发") And Asc(Left(mystr, 1)) Asc("噶") Then
py = "F"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("噶") And Asc(Left(mystr, 1)) Asc("哈") Then
py = "G"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("哈") And Asc(Left(mystr, 1)) Asc("击") Then
py = "H"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("击") And Asc(Left(mystr, 1)) Asc("喀") Then
py = "J"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("喀") And Asc(Left(mystr, 1)) Asc("垃") Then
py = "K"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("垃") And Asc(Left(mystr, 1)) Asc("妈") Then
py = "L"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("妈") And Asc(Left(mystr, 1)) Asc("拿") Then
py = "M"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("拿") And Asc(Left(mystr, 1)) Asc("哦") Then
py = "N"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("哦") And Asc(Left(mystr, 1)) Asc("啪") Then
py = "O"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("啪") And Asc(Left(mystr, 1)) Asc("期") Then
py = "P"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("期") And Asc(Left(mystr, 1)) Asc("然") Then
py = "Q"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("然") And Asc(Left(mystr, 1)) Asc("撒") Then
py = "R"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("撒") And Asc(Left(mystr, 1)) Asc("塌") Then
py = "S"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("塌") And Asc(Left(mystr, 1)) Asc("挖") Then
py = "T"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("挖") And Asc(Left(mystr, 1)) Asc("昔") Then
py = "W"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("昔") And Asc(Left(mystr, 1)) Asc("压") Then
py = "X"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("压") And Asc(Left(mystr, 1)) Asc("匝") Then
py = "Y"
Exit Function
End If
If Asc(Left(mystr, 1)) = Asc("匝") Then
py = "Z"
Exit Function
End If
Else
If UCase(mystr) = "Z" And UCase(mystr) = "A" Then
py = UCase(Left(mystr, 1))
Else
py = mystr
End If
End If
End Function
Private Sub Command1_Click()
MsgBox py(Text1.Text)
End Sub