2010-04-28 34 views
0

我在C#和.Net 2.0中開發。我有一個用戶控件繪製單元格(列),取決於單元格的最大數目。有一些繪圖程序可以生成必要的單元格。有一個屬性NumberOfCells可以調整此控件的高度; CELLHEIGHT_CONSTANT * NumberOfCells。 OnPaint()方法被覆蓋(繪製單元數量的代碼)。越來越多的用戶控件沒有更新

還有一個用戶控件包含一個面板,其中包含上面的userControl1。有一個屬性NumberCells改變了userControl1的NumberOfCells。

UserControl2然後被放置在窗體上。在那個表單上有一個NumericUpDown控件(僅從1開始遞增)。當用戶增加1時,我也將VerticalScroll.Maximum調整爲1。

一切正常,很好,但當我增加一次,面板更新正常(必要時插入一個垂直滾動),但細胞沒有被添加!我試過在userControl2和窗體上失效,但似乎沒有繪製新添加的單元格。

任何幫助表示讚賞。先謝謝你。

  • 勞倫斯

回答

0

嘗試調試和檢查NumberOfCells屬性被正確設定。如果是這樣,並且在窗口失效之後單元格仍然不顯示(例如,通過最小化然後恢復窗口),則您的單元繪製方法有問題。

如果減少後/恢復細胞出現,你需要調用Invalidate(CellRegion)的制定者NumberOfCells

0

你調整控件當您添加列?如果它們不夠大而無法顯示其全部內容,那麼它們將簡單地剪切它們,並且您可能看不到任何已添加的新列。