Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将VK_十进制映射到我自己的字符_C#_Winforms_Mapping_Keycode - Fatal编程技术网

C# 如何将VK_十进制映射到我自己的字符

C# 如何将VK_十进制映射到我自己的字符,c#,winforms,mapping,keycode,C#,Winforms,Mapping,Keycode,每当有人按下numpad十进制键,即numpad上的“.”或“,”键时,我希望看到“*”或任何自定义字符 我目前的尝试是: private bool numpadDecimal; private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (numpadDecimal) e.KeyChar = customNumpadDecimalCharacter; } private void t

每当有人按下numpad十进制键,即numpad上的“.”或“,”键时,我希望看到“*”或任何自定义字符

我目前的尝试是:

private bool numpadDecimal;

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (numpadDecimal)
        e.KeyChar = customNumpadDecimalCharacter;
}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    numpadDecimal = (e.KeyCode == Keys.Decimal);
}
一般来说,这是可行的,但我更喜欢一种更直接的方法。有什么想法吗


编辑:我认为这是一个映射问题KeyCode=>Char。因此,我想知道我是否可以以某种方式覆盖windows映射。

您当前的方法有什么不直接的地方?好问题。我将在我的帖子中澄清。您希望在应用程序中或在windows中全局使用此行为吗?如果有一个应用程序范围的解决方案,我很高兴听到您可以使用一个低级钩子来全局侦听击键、截获击键、取消击键和模拟按下其他键。你首先想要达到什么目标?