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
Значение свойства
Получаемый знак ASCII. Например, при нажатии клавиш SHIFT + K данное свойство возвращает прописной знак K.
Примеры
В следующем примере создается TextBox элемент управления. Метод keypressed
использует KeyChar свойство для проверки нажатия клавиши ВВОД. Если нажата клавиша ВВОД, 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 нечисловые клавиши, когда пользователь вводит ZIP-код, изменить все буквенные клавиши на прописные буквы в поле ввода данных или отслеживать клавиатуру или другое устройство ввода ключей для определенных сочетаний клавиш.
Вы можете получить или задать следующие ключи:
a-z, A-Z.
CTRL.
Знаки препинания.
Числовые клавиши, как в верхней части клавиатуры, так и на цифровой клавиатуре.
ВВЕДИТЕ.
Вы не можете получить или задать следующие ключи:
Клавиша TAB.
INSERT и DELETE.
ДОМА.
КОНЕЦ.
PAGE UP и PAGE DOWN.
F1-F2.
ALT.
Клавиши со стрелками
Примечание
Сведения об обнаружении любого из ключей, не относящихся к символам, упомянутым выше, см. в описании KeyEventArgs класса.