单击后如何使按钮自身删除?

时间:2019-07-29 17:20:44

标签: forms powershell layout panel flowpanel

PowerShell-自删除按钮

因此,我需要将动态用户输入从TextBox添加到FlowLayoutPanel (System.Windows.Forms),并且我想允许用户单击一个按钮,以允许他们删除关联的条目从流面板布局开始。最初,我有一个标签和一个按钮,只是一个接一个地添加,但最终决定只让按钮的text属性说出我要在Label中放置的内容。因此,目标是当用户单击条目时,将其删除。当用户在TextBox中输入文本并按Enter键时,将创建该条目。

到目前为止,我已经尝试使用Controls.Remove(),,但公平地说,我不确定是否存在这种情况,但是PowerShell ISE根本没有抱怨过。另一个网站建议,有些事情可能需要您在添加到按钮之前构建脚本块并进行编译。我正在使用PSVersion 5.1(根据$PSVersionTable)。我一直在做什么:

if($_.KeyCode -eq "Enter"){

#create button
$Button = New-Object System.Windows.Forms.Button
$Button.Text = $dnsParamBox.Text #what user entered in text box
$Button.Height = 30

#add removal to click
$sb = {$flowlayoutpanel.Controls.Remove($this)}
$Button.add_click({$sb})

#add control to form
$flowlayoutpanel.Controls.Add($Button)


#clear text within text box
$dnsParamBox.Text = ""

}
})

没有错误消息,并且按钮在布局面板中正确显示了标签,但是当我单击按钮时没有任何反应。关于为什么不的任何想法?我对PS非常陌生,因此即使看起来很简单,我也乐于接受建议。

0 个答案:

没有答案