我的Windows应用程序中有一个文本框。它只允许使用字母和数字。我希望当我键入任何字母时,它应该转换为大写。我怎么能这样做以及在哪种情况下?我已经使用了str.ToUpper()但是光标正在转移到字符串的开头。请给我解决方案。
答案 0 :(得分:55)
您只需将CharacterChasing属性更改为Upper
。
textBox1.CharacterCasing = CharacterCasing.Upper
答案 1 :(得分:8)
为什么要重新发明轮子,只需设置' CharacterCasing' textBox到' Upper'的属性。你不需要编写任何代码。
如果是屏蔽文本框,您可以使用'>' (在mask属性中)使后续字符为大写。例如对于长度为8的输入字母数字字符串(A-Z,0-9),请使用掩码'> AAAAAAAA'。要限制为仅限字母(A-Z),请使用'> LLLLLLLL'。
答案 2 :(得分:7)
您需要将ToUpper
的结果分配回文本框:
txtBox.Text = txtBox.Text.ToUpper();
或者,将文本框的CharacterCasing
属性设置为Upper
:
txtBox.CharacterCasing = CharacterCasing.Upper;
答案 3 :(得分:2)
尝试使用KeyPress事件,处理程序应类似于以下内容;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0];
}
答案 4 :(得分:1)
在TextBox的属性中,只需将CharacterCasing设置为Upper。它将以大写形式转换所有输入的字符。
答案 5 :(得分:0)
也许你应该使用这个事件:TextBox1_EditValueChanging。
如果每次光标移动到第一个位置,您可以计算txt中的字符数,并将光标移到最后一个字符之后。
答案 6 :(得分:0)
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar = Char.ToUpper(e.KeyChar);
}
答案 7 :(得分:0)
//显示所有字符的长度
private void BtnLength_Click(object sender, EventArgs e)
{
LblLength.Text = TxtInput.Text.Length.ToString();
}
//制作上方字符
private void btnUpper_Click(object sender, EventArgs e)
{
LblUpper.Text = TxtInput.Text.ToUpper();
}
//将字符设为小写
private void BtnLower_Click(object sender, EventArgs e)
{
LblLower.Text = TxtInput.Text.ToLower();
}
//显示最后3个字符
private void BtnRight_Click(object sender, EventArgs e)
{
LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
}
//在第1位到第3位显示字符
private void BtnSubscript_Click(object sender, EventArgs e)
{
LblSubscript.Text = TxtInput.Text.Substring(1, 3);
}
<强> // ASCII 强>
private void BtnGo_Click(object sender, EventArgs e)
{
string name;
int letter;
name = TxtInput.Text;
for (int index = 0; index < name.Length; index++)
{
letter = name[index];
MessageBox.Show(letter.ToString());
}
}
<强> //密码强>
int InNumTry = 0;
private void BtnGo_Click_1(object sender, EventArgs e)
{
string password;
password = TxtIn.Text;
switch (password)
{
case " ": MessageBox.Show("Passowrd is empty.");
break;
case "MIKE": MessageBox.Show("Password is OK!");
FrmBOO newForm = new FrmBOO();
newForm.Show();
break;
default:
InNumTry++;
MessageBox.Show("Invalid Passwrod, try again!");
TxtIn.Text = "";
TxtIn.Focus();
break;
}
if (InNumTry >= 3)
{
MessageBox.Show("You have tried too many times, have a good day.");
TxtIn.Enabled = false;
}
}
//添加计时器(在计时器中添加此代码下的代码(在开始表单中添加add timer1.Start();
private void timer1_Tick(object sender, EventArgs e)
{
DateTime datetime = DateTime.Now;
this.LblTime.Text = datetime.ToString();
}
答案 8 :(得分:0)
右键单击Designer中的TextBox,在Properties下将CharacterCasing改为Upper。