是否可以在TableLayoutPanel的边框上添加PictureBox

时间:2017-01-30 15:02:32

标签: c# visual-studio

有没有办法在单元格之间(或边框顶部)添加图片框。我已经尝试在桌面上使用单个图片框并将其前面绘制然后将其发送回去,但在那时它不再可见。

This is table I'm using, it changes size on runtime

1 个答案:

答案 0 :(得分:1)

如果要自定义单元格的外观,可以编写代码以响应CellPaint事件。在Visual Studio中:

  1. 点击表单设计器中的布局面板
  2. 在“属性”面板中选择Events部分(闪电图标)
  3. 在“外观”部分中向下转到CellPaint,然后双击右侧
  4. 您的处理程序传递了一个TableLayoutCellPaintEventArgs参数,该参数为您提供有关哪个单元格需要绘制(RowColumn),维度(CellBounds)的信息,以及提供了一个用于完成工作的图形上下文(Graphics)。这使您可以完全自定义您想要做的任何绘画,无论是图像,线条还是文本,您都可以覆盖现有内容。

    此处有更多信息:

    https://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel.oncellpaint(v=vs.110).aspx

    https://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutcellpainteventargs(v=vs.110).aspx

    您还可以在您的房间之间添加窄边框细胞。细胞,取决于你的图形要求,但你不能与他们的邻居重叠#&内容。