Вы не должны захватывать события мыши, когда в этом нет необходимости. В вопросе недостаточно подробностей о том, что вы действительно хотите сделать и почему вам нужно знать, когда пользователь нажимал за пределами вашей формы.
легко получить положение курсора вне границы формы, просто перетаскивая мышью, она отправляет много значений в форму при каждом изменении положения, формируя следующую строку кода.
MessageBox.Show(Cursor.Position.ToString());
Но мне нужно получить положение мыши, когда пользовательнажмите, изд вне границы формы. Не просто мышкой. Для этого я использовал следующую строку кода:
private void Form1_Deactivate(object sender, EventArgs e)
{
MessageBox.Show(Cursor.Position.ToString());
}
я размещенMessageBox.Show (Cursor.Position.ToString ()); в формы Деактивировать событие. Когда пользователь нажимает за пределами формы, это событие обязательно происходит. Но он также отправляет неправильные значения, когда пользователь не щелкает снаружи, а изменяет программу с помощьюALT + TAB комбинация клавиш. На самом деле я должен сделать снимок экрана области, начиная с позиции первого клика. Поэтому мне нужно положение курсора, когда он нажимается за пределами формы. любить: