Hi All,
This may not be the correct forum area for this question but here goes..
I am using the MouseHover event of a wingrid to show a popup control when the mouse hovers over cells in a particular column. This works fine by checking the column in the MouseHover event and calling the Show() method of the popupcontrol container. If the cell being hovered over is not in the particular column then I call the Close() method to close the popup.
My problem is that when I now go back and hover over a cell in the particular column, the Show() method is not showing the popup control anymore. Am I making a mistake in calling the Close() method or is it something else I am overlooking?
Thanks,Denis
Hi Denis,
My guess is that the MouseHover event is the problem. MouseHover fires when the mouse hovers over a Control. Once you get a MouseHover on the grid, you would have to move the mouse outside the grid and then back inside it again before you would get another MouseHover message.If you move the mouse over another cell within the same grid, then the event will not fire again, because you are essentially still hovering over the same control.
The solution is to use the MouseEnterElement and MouseLeaveElement events, instead. This will make your code easier, also, since these events will give you the UIElement - you won't have to call ElementFromPoint any more.
The down side is that there won't be any hover delay any more. So if you want to create a delay, you will need to use a Timer.