zoukankan      html  css  js  c++  java
  • 在ListBox中实现右键菜单,需要注意的细节



    本段代码实现的目标:
      blue区域不显示contextmenu,橙色范围显示contextmenu
      就是当mouse右键点击listbox中的存在项上,才显示contextmenu,其他范围不显示contextmenu.
    private void listBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
      {
       if(e.Button == MouseButtons.Right)
       {
        //listBoxItem Total Height
        int listBoxItemToTalHeight = listBox1.Items.Count * listBox1.ItemHeight;
        int currentIndex = e.Y /12;
        if(SqlInt32.Mod(currentIndex,12) == 0)
        {
         currentIndex = currentIndex;
        }
        if(e.Y > listBoxItemToTalHeight)
        {
         this.listBox1.ContextMenu = this.contextMenu1;
         contextMenu1.MenuItems[0].Visible = false;
        }
        else
        {
         this.listBox1.ContextMenu = this.contextMenu1;
         contextMenu1.MenuItems[0].Visible = true;
         if(listBox1.SelectedItem != null && currentIndex != listBox1.SelectedIndex)
         {
          this.listBox1.SetSelected(listBox1.SelectedIndex,false);
         }
         this.listBox1.SetSelected(currentIndex,true);
         this.listBox1.ContextMenu.Show(listBox1,new Point(e.X,e.Y));
        }
       } 
      }

  • 相关阅读:
    CentOS7的内核优化
    centos7 系统优化脚本
    Centos7之系统优化
    Jenkins安装
    Zabbix安装
    Systemd 入门教程:命令篇
    开源ERP系统Odoo搭建文档
    SSH详解
    使用pm2来保证Spring Boot应用稳定运行
    npm安装与使用
  • 原文地址:https://www.cnblogs.com/RuiLei/p/380401.html
Copyright © 2011-2022 走看看