C# 某些Alt键会更改我的RichTextBox字体
我正在Windows窗体中创建一些印地语打字应用程序 我使用了C# 某些Alt键会更改我的RichTextBox字体,c#,.net,winforms,C#,.net,Winforms,我正在Windows窗体中创建一些印地语打字应用程序 我使用了KrutiDev010Font,有些字符有一些alt键控制代码,但是如果我输入一些其他alt键控制代码,比如alt+0261,alt+025896,那么它会打印一个章程ą,攨并将我的文本框字体更改为“Arial” 如何仅阻止更改我的RichTextBox字体的alt键控制代码 您可以使用KeyDown事件来抑制/阻止Alt键的功能 private void txt_KeyDown(object sender, KeyEvent
KrutiDev010
Font,有些字符有一些alt键控制代码,但是如果我输入一些其他alt键控制代码,比如alt+0261
,alt+025896
,那么它会打印一个章程ą
,攨分别编码>并将我的文本框字体更改为“Arial”
如何仅阻止更改我的RichTextBox字体的alt键控制代码 您可以使用KeyDown
事件来抑制/阻止Alt键的功能
private void txt_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Alt)
{
e.SuppressKeyPress = true;
}
}
这是默认行为。
RichTextBox
会自动查找一种回退字体,以表示当前指定字体无法处理的字符。
如果没有其他指示,它将使用回退字体更改字体
选择。
阅读这篇关于RichTextBox
祖先(RichEdit
控件,从中派生WinForms
控件)相同默认行为的文章:
有办法改变这种行为。至少以RichTextBox
控件报告当前字体和字体选择的方式。上一篇博文中的C++
代码就是其中之一。
关于以下主题的问题/答案:
.
但是您不需要回退到C++
来实现这一点。
请参阅和标志。
您可以在表单中的InitializeComponent()
过程之后插入这行代码构造函数:
richTextBox1.LanguageOption = RichTextBoxLanguageOptions.DualFont;
或
richTextBox1.LanguageOption = RichTextBoxLanguageOptions.DualFont | RichTextBoxLanguageOptions.UIFonts;
有一点不同。请参阅参考文档,并在您的特定上下文中测试此行为。
如果插入当前字体未处理的Unicode符号,则始终可以进行回退,但RichTextBox
UI不会更改字体,甚至不会更改SelectionFont
并且,将正常工作。
仅阻止更改我的文本框字体的alt键。您是否有更改字体的alt控制代码的完整列表?如果没有,那么您唯一的选择就是在每次按键后重置字体,这可能是一场性能噩梦!我已经更新了您的问题,因为您似乎在询问如何阻止Alt键,而不是特定的控制代码:0)