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 указывает, что нажата левая, средняя или правая кнопка мыши.