C# 将Datagridview复制到Windows窗体中的剪贴板

C# 将Datagridview复制到Windows窗体中的剪贴板,c#,datagridview,copy-paste,C#,Datagridview,Copy Paste,我想将Datagridview所选行复制到剪贴板,并将它们粘贴到记事本或Microsoft Word中。实现这一目标的最佳方法是什么 谢谢 参见参见我使用复制菜单项。如果要使用Ctrl+C,则必须实现键盘事件。这是我的密码: private void copyToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Control myControl in tabControl1.SelectedTab.Contr

我想将Datagridview所选行复制到剪贴板,并将它们粘贴到记事本或Microsoft Word中。实现这一目标的最佳方法是什么


谢谢

参见

参见

我使用复制菜单项。如果要使用Ctrl+C,则必须实现键盘事件。这是我的密码:

private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
       foreach (Control myControl in tabControl1.SelectedTab.Controls)
       {
             if (myControl is DataGridView))
             {
                    DataGridView tempdgv = (DataGridView)myControl;
                    DataObject dataObj = tempdgv.GetClipboardContent();
                    try
                    {
                        Clipboard.SetDataObject(dataObj, true);
                    }
                    catch (Exception ex)
                    {
                         // Do Something
                    }
                    finally
                    {
                        if (selectAllToolStripMenuItem.Checked)
                        {
                            selectAllToolStripMenuItem_Click(this, EventArgs.Empty);
                        }

                    }
                }
     }
}

我使用复制菜单项。如果要使用Ctrl+C,则必须实现键盘事件。这是我的密码:

private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
       foreach (Control myControl in tabControl1.SelectedTab.Controls)
       {
             if (myControl is DataGridView))
             {
                    DataGridView tempdgv = (DataGridView)myControl;
                    DataObject dataObj = tempdgv.GetClipboardContent();
                    try
                    {
                        Clipboard.SetDataObject(dataObj, true);
                    }
                    catch (Exception ex)
                    {
                         // Do Something
                    }
                    finally
                    {
                        if (selectAllToolStripMenuItem.Checked)
                        {
                            selectAllToolStripMenuItem_Click(this, EventArgs.Empty);
                        }

                    }
                }
     }
}

这将把DataGridView中名为
myDataGridView
数据的当前选定单元格复制到剪贴板

Clipboard.SetDataObject(myDataGridView.GetClipboardContent())

这将把DataGridView中名为
myDataGridView
数据的当前选定单元格复制到剪贴板

Clipboard.SetDataObject(myDataGridView.GetClipboardContent())

我想用CTRL C复制行。我想用CTRL C复制行。这段代码怎么了?私有数据对象OnCopySelectedRowsToClipboard(){this.MyDataGridView.ClipboardCopyMode=DataGridViewClipboardCopyMode.EnableWithoutHeaderText;//将所选内容添加到剪贴板.clipboard.SetDataObject(this.MyDataGridView.GetClipboardContent());返回新数据对象(Clipboard.GetText());}除了我不确定为什么要返回新数据对象(Clipboard.GetText());但如果我能看出这段代码有什么问题,这应该不会有任何影响?私有数据对象OnCopySelectedRowsToClipboard(){this.MyDataGridView.ClipboardCopyMode=DataGridViewClipboardCopyMode.EnableWithoutHeaderText;//将所选内容添加到剪贴板.clipboard.SetDataObject(this.MyDataGridView.GetClipboardContent());返回新数据对象(Clipboard.GetText());}除了我不确定为什么要返回新数据对象(Clipboard.GetText());但我看不出有什么效果