控制控件在 WinForms TableLayoutPanel 上的确切位置

Controlling the exact position of a control on a WinForms TableLayoutPanel

我需要主窗体后面的网格状结构,所以使用 TableLayoutPanel。现在,我需要在此面板上的 "exact locations" 处放置控件。我怎样才能做到这一点?我知道如何在单元格内放置一个控件,指定行和列#,但是有没有像 WPF 网格中那样管理行跨度、列跨度和边距的方法?

还有一件事。我在另一个面板中托管 TableLayoutPanel,而第二个面板基本上在 WPF 项目的 WindowsFormsHost 中。

这是我的 TableLayoutPanel 现在的样子:

您可以将 Panel 添加到 Cell,然后将 Button 添加到 Panel 控件,并为 [=13] 设置 topleft =].

Panel panel = new Panel();
Button button = new Button();

panel.Controls.Add(button);
panel.Dock = DockStyle.Fill;
button.Top = 5;
button.Left = 5;

tableLayoutPanel.Controls.Add(panel, 0,0);
tableLayoutPanel.SetColumnSpan(panel,2);
tableLayoutPanel.SetRowSpan(panel,2);