当前位置:编程学习 > C#/ASP.NET >>

C# 实现"左键"单击弹出式菜单

 \

在开发应用程序时,我们常常需要使用到弹出式菜单。有时候,我们需要用户在单击某个控件时,实现这一功能。

.NET为我们提供了这样一个控件ContextMenuStrip,它可以和其他控件进行绑定,当用户单击该绑定控件时,就弹出对应的菜单。

但是这样做有一个问题,ContextMenuStrip的触发条件是与其绑定的控件被右键单击时。

如果一个应用程序所有的界面操作都是通过左键单击或双击完成的,突然某个控件需要用户改用右键单击。这种情况难免让人有些不爽。

因此有没有一种方法能通过左键单击来触发弹出式菜单呢?答案当然是肯定的。下面我们来说说这个方法:

  1. 首先还是和往常一样,创建一个ContextMenuStrip,取好名字,设置好相关的属性。这里我们将控件命名为ctxMenu
  2. 接下来创建一个用于触发该菜单的控件,可以是任何的控件,这里我们使用一个Button控件命名为btnMenu
  3. 然后就是代码部分了,很简单的一句代码: 
private void btnMenu_Click(object sender, EventArgs e)
{
  // 参数一为被绑定的控件
// 参数二为弹出式菜单的显示位置(0,0与被绑定控件的原点重合)
  ctxMenu.Show(btnMenu, new Point(0, btnMenu.Height + 5));
}

备注: 当然这个代码还不是十分的完美,因为现在不论是单击左键还是右键都会显示菜单,大家可以把代码写到控件的鼠标事件中,并对左右键单击作出判断来解决这个问题。

    
补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,