2011-04-15 58 views
0

我得到了一個DataGridView,它不會繪製它的內容單元格。標題是可見的,可以調整大小。垂直滾動條在那裏,可以移動 - 所以行是存在的(當源改變時,滾動條更新正確)。DataGridView單元格沒有繪製

但是,細胞應該塗漆的部分保持「未塗漆」,這意味着您可以在沒有刷新部分顯示時看到一些效果。當您移動窗體並打開上下文菜單並關閉它時,背景會有鬼影,它的圖形將保留在DataGridView的「單元部分」中。

有沒有人遇到過這種效果?

+6

也許你應該粘貼一些代碼.. – 2011-04-15 12:54:51

+1

你是否重寫paint方法? – eschneider 2011-04-15 14:33:19

+0

我無法提供一個簡約的例子,所以沒有代碼。只希望有人遇到與DataGridView一起的效果。不過,我找到了解決方案:我實現了'RowPrePaint'事件。當事件處理程序中發生異常時,數據網格靜靜地捕捉它並且不會繪製。我自己的try-catch-block都是要做的(並且修復異常的來源以改善我的代碼)。 (將在24小時後回答問題,以便我可以將問題標記爲關閉。) – ZoolWay 2011-04-15 14:37:10

回答

1

我無法提供一個簡約的例子,所以沒有代碼。只希望有人遇到與DataGridView一起的效果。

不過我找到了解決方案:我實現了RowPrePaint事件。當事件處理程序中發生異常時,數據網格靜靜地捕捉它並且不會繪製。我自己的try-catch-block都是要做的(並且修復異常的來源以改善我的代碼)。

1

我和我自己的DataGridView有同樣的問題。 ZoolWay的自我回答讓我朝着正確的方向前進。我的問題是,我在Paint事件中運行了一段代碼,用於引用單元格的Value屬性的自定義DataGridViewCell。該屬性沒有被正確覆蓋,所以DataGridView無法繪製一個單元格後退出,導致空白的部分通道控制。