これらの行を認証DataGridView
しwinform
て削除する削除処理を使用しています。Shiftただし、 +を押すDelと から行が削除されUI
ます。boolean
IsShiftPressed
イベントを処理して設定しようとしkeydown
ましたが、見苦しく見えます。きっともっと良い方法があるはずです。
2 に答える
2
試してみるKeyUp Event
if (e.KeyCode == Keys.Del && e.Shift)
{
if (dataGridView1.SelectedRows.Count > 0)
{
//Do Stuff
}
e.Handled = true;
}
于 2013-02-12T04:54:08.937 に答える
1
この記事に従って、C# でコントロールをトラップすることができます。.
class MyDataGrid : System.Windows.Forms.DataGrid
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104;
if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch (keyData)
{
case Keys.Shift | Keys.Delete:
MessageBox.Show("shift + del pressed");
break;
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
于 2013-02-12T04:54:31.573 に答える