【问题标题】:Selecting text from ListView in c# windowsForms在 c# windows Forms 中从 ListView 中选择文本
【发布时间】:2016-01-25 14:53:24
【问题描述】:

我在 Windows 窗体中使用 C# 进行编码。我正在使用 VS 2013。

我有一个处于详细模式的ListView,它可以正确显示我的数据。当我将鼠标悬停在某个项目上时,我想选择它的项目并复制它们的文本或显示有关项目的一些信息。但是我不能对表格中显示的数据做任何事情。只能选择第一列,当然我也不能复制这些项目。无法选择其他列。

我该怎么办? 我已经在工具箱中搜索了表格。但是只有TableLayoutPanel,使用它比ListView 更难。 VS 2013有什么更好的吗?

【问题讨论】:

  • listView1.FullRowSelect = true;
  • 如果您需要更大的灵活性,请考虑使用 DataGridView。要克服仅在第一列中选​​择的限制,请在列表视图的属性表中将“FullRowSelect”属性设置为true
  • 谢谢。我知道 ListView。但是这个属性并没有让我能够选择一个单独的表屋或复制它的数据。我正在寻找类似 Qt 中的表格小部件的东西。但在 VS 2013 中找不到类似的东西。

标签: c# visual-studio-2013 controls


【解决方案1】:

控制鼠标悬停的一种方法是为鼠标悬停创建一个事件

this.panel1.MouseHover += new System.EventHandler(this.panel1_MouseHover);

private void panel1_MouseHover(object sender, System.EventArgs e) 
{
    // Update the mouse event label to indicate the MouseHover event occurred.
    label1.Text = sender.GetType().ToString() + ": MouseHover";
    // Instead of printing you can do whatever you want here, like you want to select some text or whatever
}

更多详情可以看这个链接https://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousehover(v=vs.110).aspx

对于完整的行选择,您可以使用

listView1.FullRowSelect = true;

【讨论】:

  • 感谢鼠标悬停提示。我的主要目的是选择表格的单元格。
猜你喜欢
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2014-09-29
  • 1970-01-01
  • 2013-04-07
相关资源
最近更新 更多