C# 这些字符的键码是什么WPF
我正在使用基于WindowsPresentationFoundation(WPF)的代码编辑器。我想在用户添加一个打开的BrakSet时自动添加闭合括号。但是在C# 这些字符的键码是什么WPF,c#,wpf,xaml,event-handling,enumeration,C#,Wpf,Xaml,Event Handling,Enumeration,我正在使用基于WindowsPresentationFoundation(WPF)的代码编辑器。我想在用户添加一个打开的BrakSet时自动添加闭合括号。但是在System.Windows.Input.Key中,我找不到括号中的键代码。我还需要在下面的代码部分中提到的一些字符代码 // Brackets, square brackets and curly brackets "(" ")" "[" "]" &qu
System.Windows.Input.Key
中,我找不到括号中的键代码。我还需要在下面的代码部分中提到的一些字符代码
// Brackets, square brackets and curly brackets "(" ")" "[" "]" "{" "}"
// Lower/Greater: "<" ">"
// Equal, quote and single quote " ' =
private void htmlcode_KeyDown(object sender, KeyEventArgs e)
{
if(e.Key = /* the keycode that I need */)
{
htmlcode.Text = htmlcode.Text + "<close variant of key>";
}
}
//方括号、方括号和花括号“(“”)”“[”“]”“{”“}”
//较低/较大:“
//相等、引号和单引号“'=
私有无效htmlcode_KeyDown(对象发送方,KeyEventArgs e)
{
if(e.Key=/*我需要的keycode*/)
{
htmlcode.Text=htmlcode.Text+“”;
}
}
我需要
System.Windows.Input.Key
enum中这些字符的名称。System.Windows.Input.Key
enum中没有这些字符的值
但是,您可以处理
预览输出
事件,而不是向下键
:
private void htmlcode_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
switch (e.Text)
{
case "{":
// add "}"
break;
// etc
}
}
我想说你还没有尝试在谷歌上搜索这个…我只是搜索了这些{}并从SO那里得到了解决方案。在发布问题之前,请尝试查找它是否已经存在answered@JuanCarlosRodriguez但是你不会费心告诉OP你发现了什么吗?我也很想看看例如
{
。在我的键盘上,有三个连续的键码……我会尝试用谷歌搜索。@Clemens这里他要的是{}在那里,人们建议用按键事件来代替按键,采取look@JuanCarlosRodriguezWPF中没有按键事件,KeyEventArgs中也没有KeyCode属性。PreviewTimeput
在通过Ctrl+V插入文本时应被触发。因此e.text
可以是一个长字符串,可能包含也可能不包含brackets@ASh是的,但是在这种情况下,OP可能不想自动添加结束括号。idk。“{{{{{{{code>邀请2个结束}。“{
也可以结束。@ASh当然,这给OP留下了一些编程工作。