c#windows格式为大写字母
我的用户可以在组合框中输入一些文本,但我希望这些文本自动以大写字母显示(就像用户打开了capslock一样)。有什么办法吗?您需要处理c#windows格式为大写字母,c#,forms,combobox,C#,Forms,Combobox,我的用户可以在组合框中输入一些文本,但我希望这些文本自动以大写字母显示(就像用户打开了capslock一样)。有什么办法吗?您需要处理按键事件 private void ComboBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar >= 'a' && e.KeyChar <= 'z') e.KeyChar -= (char)32; } private void组合框
按键事件
private void ComboBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar >= 'a' && e.KeyChar <= 'z')
e.KeyChar -= (char)32;
}
private void组合框\u按键(对象发送器,按键事件参数e)
{
如果(e.KeyChar>='a'&&e.KeyChar,您可以注册到TextChanged事件并将文本转换为大写字母
private void combobox_TextChanged(object sender, EventArgs e)
{
string upper = combobox.Text.ToUpper();
if(upper != combobox.Text)
combobox.Text = upper;
}
另一个例子
private void TextBox_Validated(object sender, EventArgs e)
{
this.TextBox.Text = this.TextBox.Text.ToUpper();
}
关于以下是我如何处理它的,它提供了比简单地替换整个文本更平滑的更改
private void ComboBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (Char.IsLetter(e.KeyChar))
{
int p = this.SelectionStart;
this.Text = this.Text.Insert(this.SelectionStart, Char.ToUpper(e.KeyChar).ToString());
this.SelectionStart = p + 1;
}
}
@Edwin,no-KeyPressEventArgs既有getter又有setter。设置KeyChar从.NET 2.0开始是有效的。我不知道32。很好。