Winforms TableLayoutPanel的行/列着色(vs2008,winform)
我可以为TableLayoutPanel中的整行或整列添加特定颜色吗? 怎样?如果有,请提供示例代码 谢谢你的建议。是的,你可以 使用TableLayoutPanel的CellPaint事件测试调用事件的行/列,然后使用矩形的图形对象大小设置单元格的颜色 如下所示(第一行和第三行):Winforms TableLayoutPanel的行/列着色(vs2008,winform),winforms,visual-studio-2008,Winforms,Visual Studio 2008,我可以为TableLayoutPanel中的整行或整列添加特定颜色吗? 怎样?如果有,请提供示例代码 谢谢你的建议。是的,你可以 使用TableLayoutPanel的CellPaint事件测试调用事件的行/列,然后使用矩形的图形对象大小设置单元格的颜色 如下所示(第一行和第三行): 我发现这个答案更容易实现: 这让我可以在手机上加上一个完整的背景色 创建一个带有背景色的面板,然后 在我的表格布局面板 然后该TableLayoutPanel单元格具有 背景色 我的代码最终如下所示: Panel
我发现这个答案更容易实现: 这让我可以在手机上加上一个完整的背景色
面板
,然后表格布局面板
TableLayoutPanel
单元格具有
背景色
我的代码最终如下所示:
Panel backgroundColorPanel = new Panel();
backgroundColorPanel.BackColor = Color.FromArgb(243, 243, 243);
backgroundColorPanel.Dock = DockStyle.Fill;
backgroundColorPanel.Margin = new Padding(0);
backgroundColorPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left));
backgroundColorPanel.AutoSize = true;
backgroundColorPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.originalTableLayoutPanel.Controls.Add(backgroundColorPanel, 0, row);
您要确保处理刷子。在using(){}语句中包装其创建,或使用static brushs.Blue。否则,你会在每一幅画上泄漏内存。谢谢提醒,Eilon-并提到使用静态画笔的选项。
画笔。蓝色是一个静态属性,所以我不会处理它,否则下次使用它时它可能会无效。这可以工作,但在所需代码行、内存使用、以及,或处理器周期。
Panel backgroundColorPanel = new Panel();
backgroundColorPanel.BackColor = Color.FromArgb(243, 243, 243);
backgroundColorPanel.Dock = DockStyle.Fill;
backgroundColorPanel.Margin = new Padding(0);
backgroundColorPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left));
backgroundColorPanel.AutoSize = true;
backgroundColorPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.originalTableLayoutPanel.Controls.Add(backgroundColorPanel, 0, row);