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
používá KeyChar vlastnost ke kontrole, zda klávesa ENTER stiskněte. Pokud je stisknutá klávesa ENTER, Handled vlastnost je 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 v době běhu vzorkovat klávesové zkratky a upravit stisknutí kláves za zvláštních okolností za běhu. Můžete například zakázat KeyChar nečíselné klávesové zkratky, když uživatel zadá PSČ, změní všechna abecední tlačítka 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í značky.
Číselné klávesy, a to jak v horní části klávesnice, tak na numerické klávesnici.
ZADEJTE.
Nemůžete získat nebo 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 neznamékových klíčů, najdete ve KeyEventArgs třídě.