gpt4 book ai didi

excel - 如何启用从 Excel 复制粘贴到自定义 DataGridView?

转载 作者:行者123 更新时间:2023-12-04 21:58:09 24 4
gpt4 key购买 nike

我正在尝试在自己的环境中解决这个老问题,采用了许多不同的解决方案,但仍然没有成功。
我有一个 User Control , 命名为 EntryGrid ,有一个 DataGridView ,它的标题和这样的东西是在代码中设置的。然后有一个表单有 EntryGrid下降到它。
我知道必须准备好 excel 列才能将所有单元格粘贴到一行中,为此我使用了以下解决方案:copypaste ,除了复制部分。这是我家的样子:

Private Sub EntryGrid_KeyDown(sender As Object, e As KeyEventArgs) Handles EntryGrid4.KeyDown, EntryGrid8.KeyDown, EntryGrid16.KeyDown, EntryGrid32.KeyDown
e.Handled = True
Dim entryGrid As EntryGrid = sender
Dim dataGrid As DataGridView = entryGrid.DataGrid
If (e.Control And e.KeyCode = Keys.V) Then
MessageBox.Show("Success") 'for now
End If
End Sub

这绝对不适合我。我什至设置了 KeyPreviewTrue在表格中,但什么也没发生。
然后我尝试了 this solution ,我的任何结果:
Private Sub EntryGrid_EditingControlShowing(sender As System.Object, e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles EntryGrid4.EditingControlShowing
AddHandler e.Control.KeyDown, AddressOf cell_KeyDown
End Sub

Private Sub cell_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.V Then
MessageBox.Show("Success")
End If
End Sub
EntryGrid4是窗体上的用户控件的名称,但它没有任何 EditingControlShowing事件,仅限 DataGridView有,但我不能这样使用: EntryGrid4.DataGrid.EditingControlShowing我在 EntryGrid 中创建了一个事件( Public Event EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) ),但一切都变了。
我可以将剪贴板中的任何内容粘贴到单元格中,但在我开始修改之前这是可能的。
感谢您的任何想法!

最佳答案

ProcessCmdKey你的方法UserControl就是你要找的。覆盖它并检查 Ctrl + V 并执行您需要的操作。例如:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.V))
{
if (dataGridView1.EditingControl != null)
dataGridView1.EditingControl.Text = Clipboard.GetText();
else if (dataGridView1.CurrentCell != null)
this.dataGridView1.CurrentCell.Value = Clipboard.GetText();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}

关于excel - 如何启用从 Excel 复制粘贴到自定义 DataGridView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40162530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com