私は自分の環境でこの古い問題を解決しようとしています。
EntryGrid
というUser Control
があります。DataGridView
というヘッダーがあり、そのようなものがコードに設定されています。次に、EntryGrid
がドロップされたフォームがあります。
Excelの列は、すべてのセルを行に貼り付けることができるように準備されている必要があることがわかります。このために、このソリューションを使用しました。コピー部分を除いてcopypasteです。これは私の場所でどのように見えるかです:これは絶対に私のために働いていない
ExcelからカスタムDataGridViewにコピー貼り付けを有効にするにはどうすればよいですか?
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
。私はさらにKeyPreview
をTrue
に設定していますが、何も起こりません。
は、それから私は、どんな結果に鉱山、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)
)にイベントを作成しましたが、何かが変更されました。
クリップボードからセルに何かを貼り付けることができましたが、変更を開始する前に可能でした。 ありがとうございます!
問題は何ですか?編集モードにあるセルなどの値を貼り付けるだけですか?問題に言い換えて、より明確にして問題に関連していない部分を削除してください。たとえば、クリップボードから編集モードでセルに貼り付けることについて質問がある場合は、キーボードショートカットやメニューを使用して貼り付けたい方法を決定する必要があります。また、あなたが求めているのは、ユーザーの制御構造やExcelの列などを説明する必要はありません。質問は簡単で具体的なものにしてください。 –
問題は2つの試みのいずれかがうまくいくことです。私はCtrl + Vを使いたいです。 – monami