2009-06-15 87 views
1

我需要以編程方式更改WinForms DataGridView中單個單元格的邊框。當在'網上搜索時,我發現這個鏈接(http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime),這是我試圖做的事情;然而,是不是有解決方案,這是以編程方式更改WinForms DataGridView中的單獨單元格邊框

「所以,你可以從 的DataGridViewCell類繼承和覆蓋AdjustCellBorderStyle方法得到的DataGridViewCell的 定製版的代碼示例,然後你可以使用這個定製 DataGridViewCell的在你的DataGridView 注意: 在您的自定義的DataGridViewCell,你應該揭露 DataGridViewAdvancedBorderStyle公衆成員,這樣的DataGridView代碼可以 將此成員設置邊框樣式到小區然後在 AdjustCellBorderStyle實施,你應該檢查這 DataGridViewAdvancedBorderStyle publi c成員並返回相應的 DataGridViewAdvancedBorderStyle。然後DataGridView PaintCells可以用它來 繪製你的單元格。「。

我很難理解實現這個解決方案。有人可以將上面的代碼翻譯成有效的VB.Net代碼,並提供一個調用它的例子更改單個單元格的邊框?

回答

1

這裏有一個現成的例子做了你所需要的,只是被隱藏之間設置背景色的額外功能。

http://www.codeproject.com/KB/grid/hulihui_CustomDataGridVie.aspx

查找線路

// must draw border for grid scrolling horizontally 
e.Graphics.DrawRectangle(gridPenColor, rect1); 

該行繪製了單元格邊框,因此要更改單個單元格邊框,請更改Event args(CellBackColorEventArgs類)以包含要描述邊框的任何屬性。然後在DrawCellBackColor方法中,根據這些傳入的屬性(以及任何你想在單元格中繪製的任何東西)繪製邊框。

+0

它花了一些工作,但我能夠獲得鏈接中的代碼以表現我通緝。謝謝! – OneSource 2009-06-24 00:47:03

相關問題