簡體   English   中英

如何檢查 c# 中的鼠標左鍵是否按下 ctrl、alt?

[英]How can i check if ctrl,alt are pressed on left mouse click in c#?

如果在鼠標左鍵單擊時按下Ctrl Alt ,我想檢查我的表單。 有什么方法可以檢查嗎?

void window_MouseLeftButtonDown_1(object sender, MouseEventArgs e)
{
    if (Control.ModifierKeys == Keys.Control && Control.ModifierKeys == Keys.Alt)
    {
        //...
    }
}

WPF:在 xaml 中將事件添加到您的窗口:

MouseLeftButtonDown="window_MouseLeftButtonDown_1"

或在后面的代碼中:

public MainWindow()
{
   InitializeComponent();

   this.MouseLeftButtonDown += window_MouseLeftButtonDown_1;
}

然后您可以檢查回調中的按鍵

private void window_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
   if (Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.LeftAlt))
   {
      // ...
   }
}

要檢查是否按下了多個修飾鍵,請使用| 操作員。

ModifierKeys.Equals(Keys.Control|Keys.Alt)

或者

Control.ModifierKeys==(Keys.Control|Keys.Alt)

如果在單擊鼠標時同時按下 ctrl 和 alt 鍵,此示例將顯示一條消息:

if(ModifierKeys.Equals(Keys.Control|Keys.Alt)){
      MessageBox.Show("Ctrl&Alt keys were pressed sametime");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM