ユーザーがテキストをコピーできるようにしたいテキストを含む1つの列を持つデータグリッドがあります。セルまたは行全体をコピーできるようにルーチンを設定しましたが、セルを編集して CTRL + C を入力するときに問題が発生します。
これは、セルを編集できるようにするために使用しているコードです。中に入ると、テキストを強調表示して右クリックしてコピーできます。これは問題なく機能します。テキストを強調表示して CTRL + C を入力すると、強調表示されたテキストではなく行がコピーされます。
独自のクラスを作成する必要はありません。それが不可能な場合はそのままにしておきます。
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.EditingControl == null ||
dataGridView1.CurrentCell.EditType != typeof (DataGridViewTextBoxEditingControl))
return;
dataGridView1.CancelEdit();
dataGridView1.EndEdit();
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.CurrentCell.EditType == typeof(DataGridViewTextBoxEditingControl))
{
dataGridView1.BeginEdit(false);
}
}