Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在tablelayoutpanel中围绕某些单元格绘制边框_C#_.net_Winforms_Tablelayoutpanel - Fatal编程技术网

C# 在tablelayoutpanel中围绕某些单元格绘制边框

C# 在tablelayoutpanel中围绕某些单元格绘制边框,c#,.net,winforms,tablelayoutpanel,C#,.net,Winforms,Tablelayoutpanel,不要问为什么,但我需要在表格布局面板中的某些单元格周围绘制边框 例如,为了简单起见,假设我有一个1行5列的TableLayoutPanel。每个单元格中都有一个按钮。我想在前3个单元格周围画一个方框,然后在最后2个单元格周围画另一个方框。总共两个盒子 有没有关于如何做到这一点的建议 谢谢。您可以使用CellPaint事件并在需要时绘制边框矩形: tableLayoutPanel1.CellPaint += tableLayoutPanel1_CellPaint; 处理程序: void tabl

不要问为什么,但我需要在
表格布局面板
中的某些单元格周围绘制边框

例如,为了简单起见,假设我有一个1行5列的
TableLayoutPanel
。每个单元格中都有一个按钮。我想在前3个单元格周围画一个方框,然后在最后2个单元格周围画另一个方框。总共两个盒子

有没有关于如何做到这一点的建议


谢谢。

您可以使用
CellPaint
事件并在需要时绘制边框矩形:

tableLayoutPanel1.CellPaint += tableLayoutPanel1_CellPaint;
处理程序:

void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
    if (e.Column == 1 && e.Row == 0)
        e.Graphics.DrawRectangle(new Pen(Color.Blue), e.CellBounds);
}
您可以使用
ControlPaint
绘制任何类型的边框:

if (e.Column == 1 && e.Row == 0)
{
    var rectangle = e.CellBounds;
    rectangle.Inflate(-1, -1);

    ControlPaint.DrawBorder3D(e.Graphics, rectangle, Border3DStyle.Raised, Border3DSide.All); // 3D border
    ControlPaint.DrawBorder(e.Graphics, rectangle, Color.Red, ButtonBorderStyle.Dotted); // dotted border
}

访问tableLayoutPanel的属性,并将CellBorderStyle设置为Single

图形正在编码错误修剪,加上代码删除。
在winforms中的TableLayoutPanel开始支持表中«border»的基本功能之前,如果需要,最好使用一个面板(Dock:Fill)并在其内部添加一个额外的表。

我可以将其绑定到一个方法中使用吗?例如,我将定义一个类似PaintDesiredCell(int columnOrder,int rowOrder){//codes}的方法?可能吗?我喜欢在调试时使用这个。在IronPython中使用dot Net时,我没有GUI构建器,因此在尝试查找错误时,能够看到网格非常有帮助。我使用调试开关来确定是否连接cell paint事件处理程序。为什么?…)问题是关于单个细胞或一组细胞,而不是针对