繁体   English   中英

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

[英]Draw tick border around group of cells (TableLayoutPanel C#)

我在Windows窗体应用程序(C#)中创建数独字段

我已经使用TableLayout制作框来为数独中显示的数字添加标签,现在我需要在每组3x3单元格(如数独)周围加粗边框...

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

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

第1步

  • 创建一个用户控件
  • 将背景设置为黑色,边距设置为0、0、0、0,填充设置为3、3、3、3
  • 添加具有3行和3单元格(每个33%)的TableLayoutControl
  • 将TableLayoutControl Dock设置为Fill,将BackColor设置为Black
  • 向每个单元格,边距1,背景色白色添加标签

第2步

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

这是一个示例,左为UserControl1,右为UserControl2,带有9x UserControl1
我在外侧使用填充4,在内侧使用填充2。

样品

我们必须更改用于制作标签的代码,并以此方式进行操作...

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

但是我仍然需要一些标签之间的粗边框,有什么提示吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM