DataGridViewTextBoxColumn
2つの列(と)を持つDataGridViewがありますDataGRidViewComboBoxColumn
。テキストボックス列のセルをクリックしてマウスホイールでスクロールすると、グリッドがスクロールします。これは完璧です。
コンボボックス列のセルをクリックすると、マウスホイールがコンボボックス内のアイテムをスクロールします。代わりにdatagridviewをスクロールする必要があります。
EditingControlShowing
修正しようとすると、イベントを処理することでコンボボックスのスクロールを無効にできます。
private void SeismicDateGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is IDataGridViewEditingControl)
{
dgvCombo = (IDataGridViewEditingControl) e.Control;
((System.Windows.Forms.ComboBox)dgvCombo).MouseWheel -= new MouseEventHandler(DGVCombo_MouseWheel);
((System.Windows.Forms.ComboBox)dgvCombo).MouseWheel += new MouseEventHandler(DGVCombo_MouseWheel);
}
}
private void DGVCombo_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
HandledMouseEventArgs mwe = (HandledMouseEventArgs)e;
mwe.Handled = true;
}
DataGridViewComboBox
列がアクティブなときにDataGridViewをスクロールする方法はありますか?