【发布时间】:2015-04-21 14:47:47
【问题描述】:
当我的应用程序打开时,最初它可以检测numlock是否打开,但是在我打开或关闭numlock之后,应用程序仍然打开,numlock状态仍然与初始状态相同。这是我的代码:
bool isNumLockedPressed = System.Windows.Input.Keyboard.IsKeyToggled(System.Windows.Input.Key.NumLock);
public MainWindow()
{
if (isNumLockedPressed == true)
NumLock.Foreground = System.Windows.Media.Brushes.White;
else
NumLock.Foreground = System.Windows.Media.Brushes.Red;
}
我希望数字锁定状态跟随我的开/关操作。有什么建议吗?
更新
这是我到目前为止的修改,但仍然无法得到我想要的。有什么建议吗?
bool isNumLockedPressed = System.Windows.Input.Keyboard.IsKeyToggled(System.Windows.Input.Key.NumLock);
int numLockStatus { get; set; }
public MainWindow()
{
if (isNumLockedPressed == true)
{
numLockStatus = 1;
NumLock.Foreground = System.Windows.Media.Brushes.White;
}
else
{
numLockStatus = 0;
NumLock.Foreground = System.Windows.Media.Brushes.Red;
}
}
private void NumLockKey_Press(object sender, KeyEventArgs e)
{
if (e.Key == Key.NumLock)
{
numLockStatus = 1;
NumLock.Foreground = System.Windows.Media.Brushes.White;
}
else
{
numLockStatus = 0;
NumLock.Foreground = System.Windows.Media.Brushes.Red;
}
}
【问题讨论】:
-
这可能比你想要的要多,但也可以看看“C# Actively detect Lock keys”。