2010-04-28 70 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

你调整控件当您添加列?如果它们不够大而无法显示其全部内容,那么它们将简单地剪切它们,并且您可能看不到任何已添加的新列。