次の方法で共有


KeyPressEventArgs.KeyChar プロパティ

定義

押されたキーに対応する文字を取得または設定します。

public:
 property char KeyChar { char get(); };
public:
 property char KeyChar { char get(); void set(char value); };
public char KeyChar { get; }
public char KeyChar { get; set; }
member this.KeyChar : char
member this.KeyChar : char with get, set
Public ReadOnly Property KeyChar As Char
Public Property KeyChar As Char

プロパティ値

Char

作成される ASCII 文字。 たとえば、ユーザーが Shift キーを押しながら K キーを押した場合、このプロパティは大文字の K を返します。

次の例では、コントロールを TextBox 作成します。 このメソッドは keypressed 、このプロパティを KeyChar 使用して、Enter キーが押されたかどうかを確認します。 Enter キーを押すと、イベントが Handled 処理されたことを示すプロパティが設定 trueされます。

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Windows::Forms;

public ref class Form1: public Form
{
public:
   Form1()
   {
      // Create a TextBox control.
      TextBox^ tb = gcnew TextBox;
      this->Controls->Add( tb );
      tb->KeyPress += gcnew KeyPressEventHandler( this, &Form1::keypressed );
   }

private:
   void keypressed( Object^ /*o*/, KeyPressEventArgs^ e )
   {
      // The keypressed method uses the KeyChar property to check 
      // whether the ENTER key is pressed. 
      // If the ENTER key is pressed, the Handled property is set to true, 
      // to indicate the event is handled.
      if ( e->KeyChar == (char)13 )
            e->Handled = true;
   }
};

int main()
{
   Application::Run( gcnew Form1 );
}

using System;
using System.Windows.Forms;

public class Form1: Form
{
    public Form1()
    {
        // Create a TextBox control.
        TextBox tb = new TextBox();
        this.Controls.Add(tb);
        tb.KeyPress += new KeyPressEventHandler(keypressed);
    }

    private void keypressed(Object o, KeyPressEventArgs e)
    {
        // The keypressed method uses the KeyChar property to check 
        // whether the ENTER key is pressed. 

        // If the ENTER key is pressed, the Handled property is set to true, 
        // to indicate the event is handled.
        if (e.KeyChar == (char)Keys.Return)
        {
            e.Handled = true;
        }
    }

    public static void Main()
    {
        Application.Run(new Form1());
    }
}
Imports System.Windows.Forms

Public Class Form1
    Inherits Form

    Public Sub New()
        ' Create a TextBox control.
        Dim tb As New TextBox()
        Me.Controls.Add(tb)
        AddHandler tb.KeyPress, AddressOf keypressed
    End Sub

    Private Sub keypressed(ByVal o As [Object], ByVal e As KeyPressEventArgs)
        ' The keypressed method uses the KeyChar property to check 
        ' whether the ENTER key is pressed. 

        ' If the ENTER key is pressed, the Handled property is set to true, 
        ' to indicate the event is handled.

        If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
            e.Handled = True
        End If
    End Sub

    Public Shared Sub Main()
        Application.Run(New Form1())
    End Sub
End Class

注釈

実行時にキーストロークを KeyChar サンプリングしたり、特別な実行時の状況でキーストロークを変更したりするには、このプロパティを使用します。 たとえば、 KeyChar ユーザーが郵便番号を入力したときに数値以外のキー押下を無効にしたり、データ入力フィールドですべてのアルファベットキー押下を大文字に変更したり、キーボードやその他のキー入力デバイスで特定のキーの組み合わせを監視したりできます。

次のキーを取得または設定できます。

  • a~z、A~Z。

  • CTRL。

  • 句読点。

  • 数値キー(キーボードの上部とテンキーの両方)。

  • 入力。

次のキーを取得または設定することはできません。

  • Tab キー。

  • INSERT と DELETE。

  • ホーム。

  • 終わり。

  • ページアップとページダウン。

  • F1 から F2。

  • ALT。

  • 方向キー

注意

上記の文字以外のキーのいずれかを検出する方法については、クラスを KeyEventArgs 参照してください。

適用対象

こちらもご覧ください