2つのDataGridView
イベントがあります。セルをダブルクリックすると、イベント、つまりイベントcell click
とcell double click
イベントの両方が呼び出されるという問題があります。これが発生した理由と解決策を教えてください。
ありがとう
2つのDataGridView
イベントがあります。セルをダブルクリックすると、イベント、つまりイベントcell click
とcell double click
イベントの両方が呼び出されるという問題があります。これが発生した理由と解決策を教えてください。
ありがとう
そのWindowsの問題。私が知る限り、彼らはそれを処理するために特別なものを何も追加していません。
あなたはこれを扱うことができます-
時間を設定する時間は、システムのダブルクリック時間(ユーザーがコントロールパネルで指定できます)と同じである必要があります。から入手できますSystem.Windows.Forms.SystemInformation.DoubleClickTime
。
このMSDNリンクをチェックアウト- ここ
また、このディスカッションStackoverflowの質問は以前に尋ねました
どうやら、DataGridViewのプロパティを設定するだけではそれを行う方法はありません。したがって、タイマーを使用してダブルクリックがあったかどうかをカウントできます。シングルクリックイベントハンドラーで行うことだけでなく、コードを確認してください。
System.Windows.Forms.Timer t;
public Form1()
{
InitializeComponent();
t = new System.Windows.Forms.Timer();
t.Interval = SystemInformation.DoubleClickTime - 1;
t.Tick += new EventHandler(t_Tick);
}
void t_Tick(object sender, EventArgs e)
{
t.Stop();
DataGridViewCellEventArgs dgvcea = (DataGridViewCellEventArgs)t.Tag;
MessageBox.Show("Single");
//do whatever you do in single click
}
private void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e)
{
t.Tag = e;
t.Start();
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
t.Stop();
MessageBox.Show("Double");
//do whatever you do in double click
}
グリッドのRowHeaderMouseClickイベントを使用できます
private void dgv_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
}