我有一个DataGridView有两列(DataGridViewTextBoxColumn
和DataGRidViewComboBoxColumn
)。如果我点击文本框列中的一个单元格并用鼠标滚轮滚动,则网格滚动。太棒了。禁用滚动通过DataGridViewComboBoxColumn和滚动通过datagridview
如果我单击组合框列中的单元格,鼠标滚轮将滚动组合框中的项目。我需要滚动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;
}
任何想法如何滚动DataGridView的时候DataGridViewComboBox
列是活动的?
这使得它可以按照我的需要工作。谢谢。 – Web 2013-03-25 17:17:58