Рейтинг:
9
Wendelius
Почему бы не использовать Контроль.Событие MouseDown (System.Окна.Формы)[^]. При нажатии мыши запустите таймер и через 2,5 секунды отобразите окно сообщения.
Когда сообщение отображается ID или при отпускании муза, остановить таймер. Какое бы событие а ни произошло первым, оно завершает отсчет времени.
Что-то вроде
public partial class Form1 : Form {
private Timer myTimer = new Timer();
private DateTime startMoment;
public Form1() {
InitializeComponent();
myTimer.Interval = 50;
myTimer.Tick += MyTimer_Tick;
}
private void MyTimer_Tick(object sender, EventArgs e) {
if (startMoment.AddMilliseconds(2500) < System.DateTime.Now) {
myTimer.Stop();
MessageBox.Show("Here we are");
}
}
private void label1_MouseDown(object sender, MouseEventArgs e) {
myTimer.Start();
startMoment = System.DateTime.Now;
}
private void label1_MouseUp(object sender, MouseEventArgs e) {
myTimer.Stop();
}
}
JDMCODEBLOX
Большое спасибо я весь день этим занимаюсь:)
JDMCODEBLOX
знаете ли вы, как я могу сделать то же самое для сенсорного монитора?
Wendelius
Насколько я знаю, MouseDown должен быть поднят также для сенсорных экранов. WinForms не хватает многих сенсорных событий, но основные из них, которые такие же, как от мыши, должны работать.
JDMCODEBLOX
как избавиться от задержки на windows 7 touch?