我有一個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