C#TableLayoutPanel替换控件?

我想知道是否可以在运行时用TableLayoutPanel中的另一个控件替换另一个控件。我有一个组合框和一个按钮,它们在运行时动态添加到TableLayoutPanel中,当用户在组合框中选择一个项目并点击按钮时,我想用包含文本的标签替换组合框选择组合框项目。C#TableLayoutPanel替换控件?

基本上,如果我可以简单地删除控件并在它的索引处插入另一个控件,那对我来说就行了。但是我没有在TableLayoutPanel的Controls集合上看到类似“拼接”或“插入”的选项,我想知道是否有一种简单的方法在特定索引处插入控件。提前致谢。

回答:

通过用我想交换的两个控件填充面板并将其放入TableLayoutPanel来修复此问题。然后根据我想要在什么时间看到他们的知名度。

回答:

这就是我已经能够想出我需要的东西。它获取ComboBox的位置并使用所选值创建一个新标签。

// Replaces a drop down menu with a label of the same value 

private void lockDropMenu(ComboBox dropControl)

{

TableLayoutPanelCellPosition pos = myTable.GetCellPosition(dropControl);

Label lblValue = new Label();

myTable.Controls.Remove(dropControl);

if (dropControl.SelectedItem != null)

{

lblValue.Text = dropControl.SelectedItem.ToString();

lblValue.Font = lblValue.Font = dropControl.Font;

// Just my preferred formatting

lblValue.AutoSize = true;

lblValue.Dock = System.Windows.Forms.DockStyle.Fill;

lblValue.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

myTable.Controls.Add(lblValue, pos.Column, pos.Row);

}

}

以上是 C#TableLayoutPanel替换控件? 的全部内容, 来源链接: utcz.com/qa/266127.html

回到顶部