Control.KeyUp Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда отпускается клавиша, если элемент управления имеет фокус.
public:
event System::Windows::Forms::KeyEventHandler ^ KeyUp;
public event System.Windows.Forms.KeyEventHandler KeyUp;
public event System.Windows.Forms.KeyEventHandler? KeyUp;
member this.KeyUp : System.Windows.Forms.KeyEventHandler
Public Custom Event KeyUp As KeyEventHandler
Тип события
Примеры
В следующем примере кода событие с классом Help используется KeyUp для отображения справки в стиле всплывающего окна для пользователя.
// This example demonstrates how to use the KeyUp event with the Help class to display
// pop-up style help to the user of the application. When the user presses F1, the Help
// class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
// that a TextBox control, named textBox1, has been added to the form and its KeyUp
// event has been connected to this event handler method.
private:
void textBox1_KeyUp( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
{
// Determine whether the key entered is the F1 key. Display help if it is.
if ( e->KeyCode == Keys::F1 )
{
// Display a pop-up help topic to assist the user.
Help::ShowPopup( textBox1, "Enter your first name", Point(textBox1->Right,this->textBox1->Bottom) );
}
}
// This example demonstrates how to use the KeyUp event with the Help class to display
// pop-up style help to the user of the application. When the user presses F1, the Help
// class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
// that a TextBox control, named textBox1, has been added to the form and its KeyUp
// event has been contected to this event handler method.
private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
// Determine whether the key entered is the F1 key. Display help if it is.
if(e.KeyCode == Keys.F1)
{
// Display a pop-up help topic to assist the user.
Help.ShowPopup(textBox1, "Enter your first name", new Point(textBox1.Right, this.textBox1.Bottom));
}
}
' This example demonstrates how to use the KeyUp event with the Help class to display
' pop-up style help to the user of the application. When the user presses F1, the Help
' class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
' that a TextBox control, named textBox1, has been added to the form and its KeyUp
' event has been contected to this event handler method.
Private Sub textBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyUp
' Determine whether the key entered is the F1 key. Display help if it is.
If e.KeyCode = Keys.F1 Then
' Display a pop-up help topic to assist the user.
Help.ShowPopup(textBox1, "Enter your first name", New Point(textBox1.Right, Me.textBox1.Bottom))
End If
End Sub
В следующем примере кода демонстрируется порядок увеличения KeyDownсобытий и KeyUpKeyPress , а также способ регистрации обработчиков событий в них.
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
textBox2.Multiline = true;
textBox2.ScrollBars = ScrollBars.Both;
//Setup events that listens on keypress
textBox1.KeyDown += TextBox1_KeyDown;
textBox1.KeyPress += TextBox1_KeyPress;
textBox1.KeyUp += TextBox1_KeyUp;
}
// Handle the KeyUp event to print the type of character entered into the control.
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
textBox2.AppendText( $"KeyUp code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + "\r\n");
}
// Handle the KeyPress event to print the type of character entered into the control.
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
textBox2.AppendText( $"KeyPress keychar: {e.KeyChar}" + "\r\n");
}
// Handle the KeyDown event to print the type of character entered into the control.
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
textBox2.AppendText( $"KeyDown code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + "\r\n");
}
}
Public Class Form2
' Handle the KeyDown event to print the type of character entered into the control.
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
TextBox2.AppendText($"KeyDown code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + vbCrLf)
End Sub
' Handle the KeyPress event to print the type of character entered into the control.
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox2.AppendText($"KeyPress keychar: {e.KeyChar}" + vbCrLf)
End Sub
' Handle the KeyUp event to print the type of character entered into the control.
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
TextBox2.AppendText($"KeyUp code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + vbCrLf)
End Sub
End Class
Комментарии
Ключевые события происходят в следующем порядке:
Чтобы обрабатывать события клавиатуры только на уровне формы и не разрешать другим элементам управления получать события клавиатуры, задайте свойству KeyPressEventArgs.Handled в методе обработки событий формы KeyPress значение true
. Некоторые клавиши, такие как клавиши TAB, RETURN, ESC и стрелки, обрабатываются элементами управления автоматически. Чтобы эти ключи вызвали KeyUp событие, необходимо переопределить метод в каждом элементе IsInputKey управления в форме. Код переопределения IsInputKey должен определить, нажата ли одна из специальных клавиш, и возвратить значение true
.
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.