Поделиться через


QueryContinueDragEventArgs.KeyState Свойство

Определение

Возвращает текущее состояние клавиш SHIFT, CTRL и ALT.

public:
 property int KeyState { int get(); };
public int KeyState { get; }
member this.KeyState : int
Public ReadOnly Property KeyState As Integer

Значение свойства

Текущее состояние клавиш SHIFT, CTRL и ALT.

Примеры

В следующем примере кода показано использование этого элемента. В этом примере обработчик событий сообщает о возникновении Control.QueryContinueDrag события. Этот отчет поможет вам узнать, когда происходит событие, и может помочь в отладке. Чтобы сообщить о нескольких событиях или о событиях, которые происходят часто, рекомендуется заменить MessageBox.ShowConsole.WriteLine сообщение на или добавить его в многостроочный TextBox.

Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа, наследуемого от Control, например Button или ComboBox. Затем присвойте экземпляру Control1 имя и убедитесь, что обработчик событий связан с событием Control.QueryContinueDrag .

private void Control1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}
Private Sub Control1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _ 
     Handles Control1.QueryContinueDrag

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Action", e.Action)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"QueryContinueDrag Event")

End Sub

Комментарии

Биты, заданные в свойстве , KeyState определяют клавиши или кнопки мыши, которые были нажаты во время операции. Например, если нажата левая кнопка мыши, задается первый бит в свойстве KeyState . Для проверки заданного состояния ключа можно использовать побитовый AND оператор.

В следующей таблице перечислены биты, заданные для указанного события.

bit Ключ
1 Левая кнопка мыши.
2 Правая кнопка мыши.
4 Клавиша SHIFT.
8 Ключ CTL.
16 Средняя кнопка мыши.
32 Клавиша ALT.

По умолчанию событие задает значение Action , DragAction.DropQueryContinueDrag если KeyState указывает, что нажата левая, средняя или правая кнопка мыши.

Применяется к

См. также раздел