0

我正在使用 C# 和 .Net 2.0 进行开发。我有一个用户控件,它根据最大单元格数绘制单元格(列)。有一些绘图例程可以生成必要的单元格。有一个属性 NumberOfCells 可以调整这个控件的高度;CELLHEIGHT_CONSTANT * NumberOfCells。OnPaint() 方法被覆盖(绘制单元格数的代码)。

还有另一个用户控件包含一个面板,该面板包含上面的 userControl1。有一个属性 NumberCells 可以更改 userControl1 的 NumberOfCells。

然后将 UserControl2 放置在 Windows 窗体上。在该表单上有一个 NumericUpDown 控件(仅从 1 递增)。当用户增加 1 时,我也将 VerticalScroll.Maximum 调整为 1。

一切运行良好,但当我增加一次时,面板更新正常(必要时插入垂直滚动)但未添加单元格!我已经尝试在 userControl2 和表单上无效,但似乎没有任何东西可以绘制新添加的单元格。

任何帮助表示赞赏。先感谢您。

  • 劳伦斯
4

2 回答 2

0

添加列时是否在调整控件的大小?如果它们不够大以显示其全部内容,那么它们将简单地剪辑它们并且您可能看不到任何已添加的新列。

于 2010-04-28T21:29:23.050 回答
0

尝试调试并检查NumberOfCells属性设置是否正确。如果是这样,并且在窗口失效后单元格仍然不显示(例如,通过最小化然后恢复窗口),则您的单元格绘制方法有问题。

如果在最小化/恢复单元格后出现,您需要调用Invalidate(CellRegion)NumberOfCells 的设置器

于 2010-04-28T21:13:18.900 回答