首页 > 编程 > C# > 正文

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

2020-01-24 00:49:27
字体:
来源:转载
供稿:网友

当我们右键点击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右键点击单元格的内容方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表