KeyPressEventArgs.KeyChar Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví znak odpovídající stisknutí klávesy.
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
Hodnota vlastnosti
Znak ASCII, který se skládá. Pokud například uživatel stiskne kombinaci kláves SHIFT+K, vrátí tato vlastnost velká písmena K.
Příklady
Následující příklad vytvoří TextBox ovládací prvek. Metoda keypressed pomocí KeyChar vlastnosti zkontroluje, zda se stiskla klávesa ENTER. Pokud je stisknuta klávesa ENTER, Handled je vlastnost nastavena na true, což označuje, že událost je zpracována.
#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
Poznámky
KeyChar Pomocí vlastnosti můžete vzorkovat stisknutí kláves za běhu a upravit stisknutí kláves za zvláštních okolností za běhu. Můžete například použít KeyChar k zakázání nečíselných klávesových zkratek, když uživatel zadá PSČ, změní všechny abecední klávesové zkratky na velká písmena v poli pro zadávání dat nebo monitoruje klávesnici nebo jiné vstupní zařízení pro konkrétní kombinace kláves.
Můžete získat nebo nastavit následující klíče:
a-z, A-Z.
CTRL.
Interpunkční znaménka.
Číselné klávesy v horní části klávesnice i na numerické klávesnici.
ZADEJTE.
Nemůžete získat ani nastavit následující klíče:
Klávesa TAB.
INSERT a DELETE.
DOMŮ.
KONEC.
PAGE UP a PAGE DOWN.
F1-F2.
ALT.
Šipky.
Poznámka:
Informace o tom, jak zjistit některý z výše uvedených klíčů bez znaků, najdete v KeyEventArgs třídě.