通过鼠标事件,从鼠标点击的坐标寻找指定的控件

Posted xuling-297769461

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过鼠标事件,从鼠标点击的坐标寻找指定的控件相关的知识,希望对你有一定的参考价值。

技术分享图片
 1 /// <summary>
 2         /// 图片鼠标右键
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void Image_slt_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
 7         {
 8             Point point = e.GetPosition(tree);
 9             HitTestResult result = VisualTreeHelper.HitTest(tree, point);
10             if (result == null)
11                 return;
12             ListBoxItem item = Utils.FindVisualParent<ListBoxItem>(result.VisualHit);
13             if (item == null)
14                 return;
15             var vm_item = item.DataContext as ImageTreeControlImageModel;
16             if (vm_item == null)
17                 return;
18             ContextMenu menu = new ContextMenu();
19             MenuItem mitem = new MenuItem();
20             mitem.Tag = vm_item;
21             mitem.Click += mItem_Click;
22             mitem.Header = "删除";
23             menu.Items.Add(mitem);
24             menu.IsOpen = true;
25         }
View Code
技术分享图片
 1 internal static class Utils
 2     {
 3         public static T FindVisualParent<T>(DependencyObject obj) where T : class
 4         {
 5             while (obj != null)
 6             {
 7                 if (obj is T)
 8                     return obj as T;
 9 
10                 obj = VisualTreeHelper.GetParent(obj);
11             }
12 
13             return null;
14         }
15     }
View Code

 

以上是关于通过鼠标事件,从鼠标点击的坐标寻找指定的控件的主要内容,如果未能解决你的问题,请参考以下文章

c#window窗体应用程序中一个控件,如果鼠标点击控件,怎么获得此时鼠标点击处的屏幕坐标

C# 上下左右键 切换控件焦点

winform中,播放一段全屏SWF视频,鼠标点击视频上一段区域 得到点击区域内的事件

如何用vba实现在EXCEL固定区域坐标内点击单元格,显示日期控件

QT如何获取窗口外的鼠标点击事件,或者鼠标坐标

C#+ARCENGINE,如何获取mapcontrol控件上鼠标点击位置的具体坐标?不是要鼠标的坐标