我想检查C#Windows窗体应用程序中的Insert键的状态。这是最小的代码(不起作用;带有两个RadioButton的表单):
using System;
using System.Windows.Forms;
using System.Windows.Input;
// Also added PresentationCore and WindowsBase refereneces
namespace InsertModeDemo1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
if (Keyboard.IsKeyToggled(Key.Insert))
radioButtonInsert.Checked = true;
else
radioButtonOverstrike.Checked = true;
}
}
}
答案 0 :(得分:5)
请尝试使用Control.IsKeyLocked
。
private void Form1_Load(object sender, EventArgs e)
{
if (Control.IsKeyLocked(Keys.Insert))
radioButtonInsert.Checked = true;
else
radioButtonOverstrike.Checked = true;
}
参考文献:Control.IsKeyLocked
注意强>
文档说该方法仅适用于 CAPS LOCK , NUM LOCK 或 SCROLL LOCK 键。但是使用
Keys.Insert
测试方法已经证明它也适用于 INSERT 键。
答案 1 :(得分:0)
您有两种选择: