2012-06-26 54 views
4

我在我的應用程序中有一個DataGridView,我不能使用鼠標滾輪來滾動它。它以前工作正常。我不確定我做了什麼來造成這種情況,因爲我在最近對代碼進行了多次更改後才注意到它。DataGridView鼠標滾輪滾動停止工作

我沒有發佈任何代碼,因爲有超過2k行,我不知道錯誤可能在哪裏。

任何想法可能造成這種情況?如果您需要任何代碼,我可以在之後編輯問題。

+0

鼠標滾輪只會在網格有焦點時纔會滾動網格。在使用滾輪之前,請嘗試單擊網格中的其中一個單元格。 – ean5533

+0

您是否意外地爲攔截事件的MouseWheel事件添加了EventHandler? –

+0

謝謝,這是我點擊某個單元格時移動的焦點。 – Igor

回答

6

幾乎肯定會出現問題,因爲DataGridView已失去焦點。這可能是因爲表單上的另一個控件需要焦點,或者您的表單默認設置爲賦予不同的控件焦點。

您可以強制DataGridView具有焦點。如果您想模擬標準Microsoft Windows在鼠標懸停在控件上時啓用鼠標滾輪滾動的行爲,請使用下面的代碼。

private void SettingsGrid_MouseEnter(object sender, EventArgs e) 
{ 
    dataGridView1.Focus(); 
} 

如果你要滾動的網格不管是什麼控件具有焦點,則代碼將類似於上面的調整的一個小喙。

+0

就是這樣!謝謝。點擊時它將焦點切換到文本框。現在我需要弄清楚如何保持焦點切換到文本框並能夠滾動dataGridView。 – Igor