当前位置: 移动技术网 > IT编程>开发语言>c# > C#获取鼠标在listview右键点击单元格的内容方法

C#获取鼠标在listview右键点击单元格的内容方法

2019年07月18日  | 移动技术网IT编程  | 我要评论

当我们右键点击listview控件时,可以得到选择的项的各个文本内容。

现在我们要求只获取右键点击时的单元格的文本内容。

方法如下:

1、定义全局的鼠标状态

point m_mbrpt;//鼠标右键点击时point

2、处理鼠标按下时在listview的消息

private void listview1_mousedown(object sender, mouseeventargs e)
    {
      //
      if (e.button==mousebuttons.right)
      {
        // 得到屏幕鼠标的坐标,转换为列表控件的坐标标
        m_mbrpt = listview1.pointtoclient(control.mouseposition);
      }

    }

3、右键菜单--复制项的消息

private void copyitem_click(object sender, eventargs e)
    {
      //复制指定表格单元格的内容
      if (listview1.selecteditems.count <= 0)
      {
        messagebox.show("没有选中交易信息!", "提示", messageboxbuttons.ok, messageboxicon.information);
        return;
      }

      // 得到屏幕鼠标的坐标,转换为列表控件的坐标标(在鼠标按下时就去处理并保存)
      //point pt = listview1.pointtoclient(m_mbrpt);

      listviewitem lstrow = listview1.getitemat(m_mbrpt.x, m_mbrpt.y);
      system.windows.forms.listviewitem.listviewsubitem lstcol = lstrow.getsubitemat(m_mbrpt.x, m_mbrpt.y);
      string strtext = lstcol.text;
      //设置到粘贴板
      setclipboardtext(strtext);

    }

4、设置粘贴板内容

 public void setclipboardtext(string strtext)
    {
      try
      {
        clipboard.setdataobject(strtext);
      }
      catch (system.exception ex)
      {
        messagebox.show(ex.message, "提示", messageboxbuttons.ok, messageboxicon.error);      
      }
      
    }

以上这篇c#获取鼠标在listview右键点击单元格的内容方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网