Control.KeyDown イベントとは? わかりやすく解説

Control.KeyDown イベント

コントロールフォーカスがあるときにキー押される発生します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Event KeyDown As
 KeyEventHandler
Dim instance As Control
Dim handler As KeyEventHandler

AddHandler instance.KeyDown, handler
public event KeyEventHandler KeyDown
public:
event KeyEventHandler^ KeyDown {
    void add (KeyEventHandler^ value);
    void remove (KeyEventHandler^ value);
}
/** @event */
public void add_KeyDown (KeyEventHandler value)

/** @event */
public void remove_KeyDown (KeyEventHandler
 value)
JScript では、イベント使用できますが、新規に宣言することはできません。
解説解説
使用例使用例

KeyDown イベント使用してコントロール入力され文字の種類判断するコード例次に示します

    ' Boolean flag used to determine when a character other than a number
 is entered.
    Private nonNumberEntered As Boolean
 = False
   
   
    ' Handle the KeyDown event to determine the type of character entered
 into the control.
    Private Sub textBox1_KeyDown(sender As
 Object, e As System.Windows.Forms.KeyEventArgs)
 _
         Handles textBox1.KeyDown
        ' Initialize the flag to false.
        nonNumberEntered = False
      
        ' Determine whether the keystroke is a number from the top of
 the keyboard.
        If e.KeyCode < Keys.D0 OrElse e.KeyCode
 > Keys.D9 Then
            ' Determine whether the keystroke is a number from the keypad.
            If e.KeyCode < Keys.NumPad0 OrElse
 e.KeyCode > Keys.NumPad9 Then
                ' Determine whether the keystroke is a backspace.
                If e.KeyCode <> Keys.Back Then
                    ' A non-numerical keystroke was pressed. 
                    ' Set the flag to true and evaluate in KeyPress
 event.
                    nonNumberEntered = True
                End If
            End If
        End If
    End Sub 'textBox1_KeyDown
   
   
    ' This event occurs after the KeyDown event and can be used 
    ' to prevent characters from entering the control.
    Private Sub textBox1_KeyPress(sender As
 Object, e As System.Windows.Forms.KeyPressEventArgs)
 _
        Handles textBox1.KeyPress
        ' Check for the flag being set in the KeyDown event.
        If nonNumberEntered = True Then
            ' Stop the character from being entered into the control
 since it is non-numerical.
            e.Handled = True
        End If
    End Sub 'textBox1_KeyPress
End Class 'Form1 
// Boolean flag used to determine when a character other than a number
 is entered.
private bool nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered
 into the control.
private void textBox1_KeyDown(object sender,
 System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the
 keyboard.
    if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
    {
        // Determine whether the keystroke is a number from the keypad.
        if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
        {
            // Determine whether the keystroke is a backspace.
            if(e.KeyCode != Keys.Back)
            {
                // A non-numerical keystroke was pressed.
                // Set the flag to true and evaluate in KeyPress event.
                nonNumberEntered = true;
            }
        }
    }
}

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(object sender,
 System.Windows.Forms.KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered == true)
    {
        // Stop the character from being entered into the control since
 it is non-numerical.
        e.Handled = true;
    }
}

   // Boolean flag used to determine when a character other than a number
 is entered.
private:
   bool nonNumberEntered;

   // Handle the KeyDown event to determine the type of character entered
 into the control.
   void textBox1_KeyDown( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^
 e )
   {
      // Initialize the flag to false.
      nonNumberEntered = false;

      // Determine whether the keystroke is a number from the top of the
 keyboard.
      if ( e->KeyCode < Keys::D0 || e->KeyCode > Keys::D9
 )
      {
         // Determine whether the keystroke is a number from the keypad.
         if ( e->KeyCode < Keys::NumPad0 || e->KeyCode
 > Keys::NumPad9 )
         {
            // Determine whether the keystroke is a backspace.
            if ( e->KeyCode != Keys::Back )
            {
               // A non-numerical keystroke was pressed.
               // Set the flag to true and evaluate in KeyPress event.
               nonNumberEntered = true;
            }
         }
      }
   }

   // This event occurs after the KeyDown event and can be used to prevent
   // characters from entering the control.
   void textBox1_KeyPress( Object^ /*sender*/, System::Windows::Forms::KeyPressEventArgs^
 e )
   {
      // Check for the flag being set in the KeyDown event.
      if ( nonNumberEntered == true )
      {         // Stop the character from being entered into the control since
 it is non-numerical.
         e->Handled = true;
      }
   }
// Boolean flag used to determine when a character other than a number
 
// is entered.
private boolean nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered
 
// into the control.
private void textBox1_KeyDown(Object sender,
 
    System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the
 
    // keyboard.
    if ((e.get_KeyCode().CompareTo(Keys.D0)) < 0 
        || (e.get_KeyCode().CompareTo(Keys.D9) > 0)) {

        // Determine whether the keystroke is a number from the keypad.
        if ((e.get_KeyCode().CompareTo(Keys.NumPad0) < 0 
            || (e.get_KeyCode().CompareTo(Keys.NumPad9)) > 0)) {

            // Determine whether the keystroke is a backspace.
            if (!(e.get_KeyCode().Equals(Keys.Back))) {
                    // A non-numerical keystroke was pressed.
                    // Set the flag to true and evaluate in KeyPress
 event.
                    nonNumberEntered = true;
            }
        }
    }
} //textBox1_KeyDown

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(Object sender,
 System.Windows.Forms.
    KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered == true) {
        // Stop the character from being entered into the control since
 
        // it is non-numerical.
        e.set_Handled(true);
    }
} //textBox1_KeyPress
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からControl.KeyDown イベントを検索した結果を表示しています。
Weblioに収録されているすべての辞書からControl.KeyDown イベントを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からControl.KeyDown イベントを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Control.KeyDown イベント」の関連用語

Control.KeyDown イベントのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Control.KeyDown イベントのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS