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