如何从ListView复制单个子项?

时间:2011-12-08 01:51:51

标签: c# .net listview copy

我不知道该怎么做。

我要做的是允许用户使用以太网鼠标右键单击或键盘快捷方式复制某些字段。

我需要这个,因为我将一些字段存储为无法轻易重新输入的代码。

ListView允许当时只选择单个行,我只想选择整个表格布局的一个字段。

我该怎么做?

PS。或者,如何允许用户修改每个字段的内容。至少当他们可以修改字段时,他们可以复制/粘贴内容(更改不会保存到我的数据库文件中)。

2 个答案:

答案 0 :(得分:4)

有一些“剪贴板”类

http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.aspx

您只需创建一个按钮或其他内容,然后在剪贴板中设置所选项目文本。

答案 1 :(得分:3)

要允许用户编辑项目,可以将ListView上的LabelEdit设置为true。以下是MSDN的描述:

“当LabelEdit属性设置为true时,用户可以通过单击项目文本来选择它,然后再次单击项目文本以将标签文本置于编辑模式来修改项目的文本。然后可以修改或替换项目的文本标签。“

请注意,这不适用于子项目。

根据您所需的用户界面(即按钮或上下文菜单),复制数据可能会稍微复杂一些。简单的解决方案是在表单中添加一个按钮,按下该按钮时,会将所选项目(或其任何子项目)的内容复制到剪贴板。

    private void button1_Click(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count != 0)
        {
            Clipboard.SetText(listView1.SelectedItems[0].Text);
        }
    }