У меня есть fom, у которого есть один пользовательский элемент управления, который должен быть заполнен.C#: как имитировать событие Hover Hover с использованием таймера
Этот пользовательский элемент управления отображает различные изображения. У одного изображения есть идентификатор, и у меня есть список объектов imageId vs imageDetail.
Мышь Перемещение события этого пользовательского управления захватывается, и я показываю текущее положение X и Y мыши в подсказке инструмента.
Я также хочу отображать детали изображения в подсказке инструмента, когда пользователь держит мышь над изображением в течение некоторого времени.
Я попытался сделать это с помощью события Mouse Hover, но он только поднялся, когда мышь входит в пользовательский контроль. после этого, если я перемещаю мышь внутри пользовательского элемента управления, наведение мыши не срабатывает ...
Как я могу отобразить текущее положение X, Y вдоль детали изображения в подсказке инструмента.
есть ли способ имитации события House Hover в Mouse Move, используя некоторый таймер.
Есть ли пример кода ..
Я решил эту проблему
public partial class Form1 : Form
{
Timer timer;
bool moveStart;
int count = 0;
Point prev;
public Form1()
{
InitializeComponent();
timer = new Timer();
timer.Interval = 1000;
timer.Tick += new EventHandler(timer_Tick);
}
void timer_Tick(object sender, EventArgs e)
{
this.timer.Stop();
this.moveStart = false;
this.toolTip1.SetToolTip(this, string.Format("Mouse Hover"));
this.textBox1.Text = (++count).ToString();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (this.prev.X == e.X && this.prev.Y == e.Y)
return;
if (moveStart)
{
this.prev = new Point(e.X, e.Y);
this.timer.Stop();
this.toolTip1.SetToolTip(this, string.Format("Mouse Move\nX : {0}\nY : {1}", e.X, e.Y));
this.timer.Start();
}
else
{
moveStart = true;
}
}
}
Возможный дубликат [Несколько событий MouseHover в элементе управления] (http://stackoverflow.com/questions/809922/multiple-mousehover-events-in-a-control) –
Я не могу решить эту проблему. пожалуйста, любое другое решение – Mohsan