当我使用Telerik UI for WinForms构建应用程序时,RadPageView在捕捉鼠标事件时出现问题。我只是想在页面视图中捕捉某个页面的鼠标悬停事件。在这种情况下,我想在指针下显示页面标题的内容。例如,我有一个名为“页面”的页面视图,它有2个页面是“A”和“B”。我想显示这些页面的内容时,指针指向他们。请给予我一个解决这个问题的方法。谢谢,对不起我的英语不好。
pnwntuvh1#
给你:
private void RadPageView1_MouseMove(object sender, MouseEventArgs e) { RadPageViewItem hoveredItem = radPageView1.ElementTree.GetElementAtPoint(e.Location) as RadPageViewItem; if (hoveredItem != null) { radPageView1.SelectedPage = hoveredItem.Page; } }
x9ybnkn62#
对我来说,e.location在某些情况下表现不正常(如果我们以某种方式移动光标,多个页面会被悬停)。我使用了以下逻辑(使用每个项目的isMouseOver属性),它工作得很完美:
e.location
isMouseOver
private void RadPageView1_MouseMove(object sender, MouseEventArgs e) { foreach (RadPageViewPage pageView in radPageView1.Pages) { if (!pageView.Item.IsMouseOver) { //your logic for hovered pages } else { //your logic (if any) for non-hovered pages } } }
2条答案
按热度按时间pnwntuvh1#
给你:
x9ybnkn62#
对我来说,
e.location
在某些情况下表现不正常(如果我们以某种方式移动光标,多个页面会被悬停)。我使用了以下逻辑(使用每个项目的
isMouseOver
属性),它工作得很完美: