在单元格组周围绘制刻度线边框(TableLayoutPanel C#)

时间:2013-04-04 12:39:45

标签: c# border tablelayout cells sudoku

我正在windows窗体应用程序(c#)中创建一个数独字段

我使用了一个TableLayout来使我的盒子为数独显示的数字添加标签,现在我需要围绕每组3x3细胞(如数独)的厚边框...

我正在尝试使用CellPaint对象,但我无法在一组边框周围设置边框...

3 个答案:

答案 0 :(得分:0)

您可以尝试将面板添加到左上方单元格,并将其中的RowSpan和ColSpan设置为3.之后,您可以在其上绘制任何边框。

答案 1 :(得分:0)

第1步

  • 创建UserControl
  • 将背景设置为黑色,边距设置为0,0,0,0并将填充设置为3,3,3,3
  • 添加一个TableLayoutControl,其中包含3 Row& 3个细胞(每个33%)
  • 将TableLayoutControl Dock设置为Fill,将BackColor设置为黑色
  • 为每个单元格添加标签,边距1,背景颜色白色

第2步

  • 使用3x3单元格(每个33%)创建另一个UserControl
  • 将第一个UserControl的实例添加到每个单元格
  • 现在你有两个边框,其中两个控件彼此相对,但你可以通过设置单个用户控件的填充来轻松调整它。我建议你把中间的那个留给3,3,3,3并修改外部控件

这是一个示例,左边是UserControl1,右边是UserControl2,带有9x UserControl1
我在外侧使用了衬垫4,在内侧使用了衬垫2。

Sample

答案 2 :(得分:0)

我们必须更改制作标签的代码,并且这样做......

    const int spacing = 30;  //ruimte tussen kotjes
                    int aantal = (int)nudColsPerBlock.Value * (int)nudRowsPerBlock.Value; //totaal aantal kotjes per rij/kolom
                    Label[][] SudokuRaster = new Label[aantal][];
                    for (int x = 0; x 

但是我仍然需要一些标签之间的边框,任何提示?