【发布时间】:2011-12-08 01:51:50
【问题描述】:
我不知道该怎么做。
我正在尝试做的是允许用户通过使用以太右键单击鼠标或键盘快捷键来复制某些字段。
我需要这个,因为我将一些字段存储为无法轻松重新输入的代码。
ListView 允许同时选择单个行,而我只想选择整个表格布局的一个字段。
我该怎么做?
PS。或者,我如何允许用户修改每个字段的内容。至少当他们可以修改字段时,他们可以复制/粘贴内容(更改不会保存到我的数据库文件中)。
【问题讨论】:
我不知道该怎么做。
我正在尝试做的是允许用户通过使用以太右键单击鼠标或键盘快捷键来复制某些字段。
我需要这个,因为我将一些字段存储为无法轻松重新输入的代码。
ListView 允许同时选择单个行,而我只想选择整个表格布局的一个字段。
我该怎么做?
PS。或者,我如何允许用户修改每个字段的内容。至少当他们可以修改字段时,他们可以复制/粘贴内容(更改不会保存到我的数据库文件中)。
【问题讨论】:
有一些“剪贴板”类
http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.aspx
您可以简单地制作一个按钮或其他东西,然后在剪贴板中设置所选项目的文本。
【讨论】:
要允许用户编辑项目,您可以将 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);
}
}
【讨论】: