2014-02-07 18 views
0

,我們有以下功能的DataGrid的我們有DataGridview.HitTestType.ColumnResize在VB.net

DataGrid.HitTestType.ColumnResize 

,所以我們可以捕捉到列MouseDown事件調整活動如下

Dim hti As DataGrid.HitTestInfo = DataGrid1.HitTest(e.X, e.Y) 
If hti.Type = DataGrid.HitTestType.ColumnResize Then 
    ...... 
End if 

但作爲我正在使用DataGridView,我們沒有DataGridview.HitTestType.ColumnResize (根據我的知識)。

有沒有什麼辦法讓DataGridView中的DataGrid具有相同的活動?

+0

@programmer -I正在尋找VB.net – picnic4u

回答

0

如果你的目的是要了解是否有列已調整然後訂閱DataGridView.ColumnWidthChanged事件。

DataGridView.ColumnWidthChanged

+0

我想顯示消息的用戶說:「你不能調整所選行的情況下,列」。所以我需要捕獲用戶要拖動columndivider進行調整大小的活動。 我們可以在datagrid的情況下這樣做,正如我在上面提到的那樣。 但如何爲datagridview的做,因爲我們沒有ColumnResize屬性'DataGridview.HitTestType' – picnic4u

+1

@ picnic4u - 如果你想阻止調整大小,你可以在'DataGridViewColumn.Resizable'屬性設置爲false。 – Junaith

+0

在我的情況下,如果第一次選中該行,然後雙擊列分隔線,則「ColumnDividerDoubleClick」事件未獲取調用,事件在三次點擊columndivider後觸發。 有什麼想法爲什麼? 沒有行選擇它觸發'ColumnDividerDoubleClick'事件並按預期工作。 選擇行後,如果拖動列分隔線來調整列的大小,它也不起作用。以便我想向用戶顯示一個intitutive消息,即在行選擇模式下,調整大小選項將不起作用。 – picnic4u

0

如果我理解正確,您希望確定哪個單元格被點擊。

要做到這一點,你需要註冊DataGridView.CellClick事件並使用DataGridViewCellEventArgs瞭解whiche細胞是。 一個詳細的例子可以在this msdn link找到。

+0

如何識別列調整大小選項的列分隔線鼠標拖動事件? – picnic4u