以编程方式弹出菜单弹出窗口

时间:2013-11-13 17:15:36

标签: c# windows windows-mobile

我正在开发Windows Mobile 6.5.3应用程序。我的问题是如何以编程方式打开菜单弹出窗口。

我做的是模拟触摸事件。使用

[的DllImport( “coredll”)]         private static extern void mouse_event(MOUSEEVENTF dwFlags,int dx,int dy,int dwData,int dwExtraInfo);

但问题是我需要指定菜单按钮的位置,并且它显示鼠标指针的一些视图,我不喜欢...

是否有任何消息我可以发送,菜单的弹出窗口会打开?

根据要求,我正在添加更多信息。我想打开以编程方式按下菜单按钮后打开的弹出窗口。

enter image description here

1 个答案:

答案 0 :(得分:0)

从控件中获取上下文菜单,然后使用上下文菜单中的Show()方法。

编辑:答案已修改且代码已更改

这就是我为让它为我工作所做的一切。

ContextMenu ctxMenu = BTN_TheButtonControlThatYouPressed.ContextMenu; ctxMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint; ctxMenu.IsOpen = true;

现在,因为您的上下文菜单已经分配给您的表单而不是您的按钮,您只需将“BTN_TheButtonControl ...”替换为一个简单的“this”,它应该“定位”表单。

所以 - 将以下代码添加到按钮的点击事件中,你应该没问题。

ContextMenu ctxMenu = this.ContextMenu; ctxMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint; ctxMenu.IsOpen = true;

**不确定回车是怎么回事......不能让他们只去第二段代码......