我正在尝试动态地将表单控件添加到我在PowerShell中开发的gui中。我看过VB和C#示例,但似乎无法让我的表单实际用新控件填充gui。我想要的是能够向表单附加可能大量的附加控件,并且添加的控件将被转储到可滚动的字段中,因此它们不会在gui的结尾处结束。我如何尝试完成此操作是将一个组合框附加到tablelayoutpanel。我的想法是,使用新的组合框控件向tablelayoutpanel添加一个新行将实现此目的。所以我想我有两个问题:
这是我尝试的最新迭代:
$button1_Click={
$new = New-Object System.Windows.Forms.ComboBox
Add-ComboBox $rowCount
$rowCount++
}
function Add-ComboBox {
param([string] $rowCount)
$combobox = New-Object System.Windows.Forms.ComboBox
$combobox.Dock = [System.Windows.Forms.DockStyle]::Fill
$combobox.Text = ""
$combobox.Tag = "ComboBox$rowCount"
$tablelayoutpanel1.Controls.Add($combobox, 1, $rowCount)
}
非常感谢您的协助。
答案 0 :(得分:1)
这可能很有用,虽然它是WPF,但代码片段创建了一个窗口,其上有几个按钮,根据添加到StackPanel的按钮数量调整大小
$window = new-object System.Windows.Window
$stackPanel = new-object System.Windows.Controls.StackPanel
$buttonNum = 20
for( $i = 0; $i -lt $buttonNum; $i++ )
{
$button = new-object System.Windows.Controls.Button
$button.Content = "Button Text" + $i
$stackPanel.Children.Add( $button )
}
$scrollViewer = new-object System.Windows.Controls.ScrollViewer
$scrollViewer.Content = $stackPanel
$window.Content = $scrollViewer
$window.SizeToContent = [System.Windows.SizeToContent]::Width
$window.Height = 100
$window.ShowDialog()
答案 1 :(得分:0)
我在Microsoft Technet论坛上找到了答案。论坛主持人一直在帮我解决这个问题。谢谢!
http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/b2c8abeb-3ae6-4936-9bef-a50a79fdff45/