KeyEventArgs.Alt Property


Gets a value indicating whether the ALT key was pressed.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public virtual bool Alt { get; }

Property Value

Type: System.Boolean

true if the ALT key was pressed; otherwise, false.

Example 1

The following code example demonstrates how to use the KeyDown event with the Help class to display pop-up style Help to the user of the application. The example uses the KeyEventArgs properties passed to the event handler method to filter for all variations of pressing the F1 key with a modifier key. When the user presses any variation of F1 that includes any keyboard modifier, the Help class displays a pop-up window, similar to a ToolTip, near the control. If the user presses ALT+F2, a different Help pop-up is displayed with additional information.

private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    // Determine whether the key entered is the F1 key. If it is, display Help.
    if(e.KeyCode == Keys.F1 && (e.Alt || e.Control || e.Shift))
        // Display a pop-up Help topic to assist the user.
        Help.ShowPopup(textBox1, "Enter your name.", new Point(textBox1.Bottom, textBox1.Right));
    else if(e.KeyCode == Keys.F2 && e.Modifiers == Keys.Alt)
        // Display a pop-up Help topic to provide additional assistance to the user.
        Help.ShowPopup(textBox1, "Enter your first name followed by your last name. Middle name is optional.",
            new Point(textBox1.Top, this.textBox1.Left));

Example 2

The following example determines whether the user pressed ALT+E, and if the mouse pointer is over TreeNode, allows the user to edit that TreeNode.

private void treeView1_KeyDown(object sender, KeyEventArgs e)
   /* If the 'Alt' and 'E' keys are pressed,
      * allow the user to edit the TreeNode label. */
   if(e.Alt && e.KeyCode == Keys.E)

      treeView1.LabelEdit = true;
      // If there is a TreeNode under the mose cursor, begin editing. 
      TreeNode editNode = treeView1.GetNodeAt(
      if(editNode != null)

private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
   // Disable the ability to edit the TreeNode labels.
   treeView1.LabelEdit = false;

.NET Framework
Available since 1.1
Return to top