DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

現在どの修飾子キーが押されているか調べる

現在どの修飾子キー(Shift、Ctrl、およびAlt)が押されているかを調べるには、Control.ModifierKeysプロパティを参照します。

次の例ではButton1をクリックしたときに修飾子キーが押されていれば、どの修飾子キーが押されているか表示します。

VB.NET
コードを隠すコードを選択
Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
    'どの修飾子キー(Shift、Ctrl、およびAlt)が押されているか
    If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
        Console.WriteLine("Shiftキーが押されています。")
    End If
    If (Control.ModifierKeys And Keys.Control) = Keys.Control Then
        Console.WriteLine("Ctrlキーが押されています。")
    End If
    If (Control.ModifierKeys And Keys.Alt) = Keys.Alt Then
        Console.WriteLine("Altキーが押されています。")
    End If
End Sub
C#
コードを隠すコードを選択
private void Button1_Click(object sender, System.EventArgs e)
{
    //どの修飾子キー(Shift、Ctrl、およびAlt)が押されているか
    if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift)
        Console.WriteLine("Shiftキーが押されています。");
    if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
        Console.WriteLine("Ctrlキーが押されています。");
    if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt)
        Console.WriteLine("Altキーが押されています。");
}

なお.NET Framework 2.0以降のVB.NETでは、My.Computer.KeyboardのAltKeyDown、CtrlKeyDown、ShiftKeyDownプロパティでも取得できます。

  • 履歴:
  • 2007/2/20 .NET Framework 2.0に関する記述を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。