65.9K
CodeProject is changing. Read more.
Home

How to use key pressing on a form (Escape, Control and Help F1) (Windows and Linux)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4 votes)

Jul 5, 2011

CPOL
viewsIcon

10530

How to use key pressing on a form

There are various ways to use key pressing on a form using C#. Here is an example: Select properties of Form and select 'KeyPreview' and change it from 'false' to 'true'. By default, its value is false. Then write the below code in the KeyUp event of the Form:
public static string HelpPath = Application.StartupPath + Path.DirectorySeparatorChar + "Help" // Help Folder Name

// Folders Structure
// Exe File
//    |-> Help Folder
//            | -> HelpFile.chm

private void frmMain_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Escape) // Escape button
                {
                    This.Close;
                }

                if (e.KeyData == (Keys.Control  | Keys.S)) // Control + S
                {
                    if (boolIPWrite == true) // Permission to write
                    {
                        BtSave_Click(sender, e); // Save button
                    }
                }

                if (e.KeyCode == Keys.F1) // F1 - Help Information
                {
                    try
                    {
                        System.Diagnostics.Process.Start(strHelpPath + Path.DirectorySeparatorChar + System.Reflection.Assembly.GetExecutingAssembly().GetName().Name.ToString() + ".chm");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("ERROR # " + ex.Message.ToString() + Environment.NewLine + Environment.NewLine + strHelpPath + Path.DirectorySeparatorChar + System.Reflection.Assembly.GetExecutingAssembly().GetName().Name.ToString() + ".chm", this.Text.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            catch
            { }
        }
Note: Works in Windows and Linux (with mono installed).