将标签复制到剪贴板

时间:2013-01-29 21:26:48

标签: c# listview datagrid labels

我需要帮助,我一整天都在Google上看,到目前为止我还没有找到一篇关于我正在尝试做什么的文章。我正在使用SharpDevelop作为我的IDE在C#中开展一个小项目,在我的项目的用户界面中我有几个标签,其中11个表示该字段的内容(即“名称:”,“电子邮件:”)以及其他11,在按下“搜索”按钮并输入关键字后,将自动填充来自数据库的信息。

我需要做的是将所有标签复制到剪贴板上,以便复制的信息可以在另一个程序中使用 - 我在Excel中使用了这个相同的应用程序,它可以实现我想要的但我需要更多功能因此我决定试一试C#。

有没有办法在C#中实现这一目标?我已经到了ListView和DataGrids,我已经考虑过将标签复制到ListView(作为替代方案,如果可能的话),这样我就可以从ListView复制信息,但格式如下: 姓名:Tim Turner

2 个答案:

答案 0 :(得分:1)

将所有输出控件放在面板中(或者根据您认为最好的方式识别它们),然后您可以使用以下代码:

StringBuilder clipboard = new StringBuilder();
foreach (Label label in outputPanel.Controls.OfType<Label>())
    clipboard.Append(label.Text + "\n");

Clipboard.SetText(clipboard.ToString());

更新

据我了解,您只想复制一系列复选框的值,这就足够了。如果您不想迭代控件集合,而是手动将值附加到剪贴板,那么您需要做的就是完成所有操作。

private void SetClipboard()
{
    StringBuilder clipboard = new StringBuilder();
    clipboard.Append(label1.Text + "\n");
    clipboard.Append(label2.Text + "\n");
    clipboard.Append(textBox1.Text);
    Clipboard.SetText(clipboard.ToString());
}

答案 1 :(得分:0)

如果您使用的是Windows窗体,则可以使用ContextMenuStrip,方法是将选项命名为“ copy”,然后将命名为ContextMenuStrip的名称应用于每个表示ContextMenuStrip的标签

    private void copyUserInfoToolStripMenuItem_Click(object sender, EventArgs e)
    {
        string UserInfo = $"{lblFirstName.Text}\n" +
                        $"{lblLastName.Text}\n" +
                        $"{lblEmailAddress.Text}\n" +
                        $"{lblPhysicalAddress.Text}\n" +
                        $"{lblCountry.Text}\n" +
                        $"{lblCompany.Text}\n" +
                        $"{lblStatus.Text}\n" +
                        $"{lblFirstContact.Text}\n" +
                        $"{lblLastContact.Text}\n" +
                        $"{lblNotes.Text}\n ";
        Clipboard.SetText(UserInfo);
    }

如果要为单个标签选择,请使用ContextMenuStrip上的第二个选项并使用以下命令:

Clipboard.SetText(labelContextMenuStrip.SourceControl.Text);

请参阅以下内容: https://stackoverflow.com/a/53263702/7444103 C# How to copy text from different labels using only one context menu when right click

那是@CoolBots和@Jimi的帮助。