我目前停留在PowerShell中的特定代码中。我想要完成的是当用户选择组合框内的项目并切换按钮时,这将根据用户在组合框中选择的项目导航到网页或应用程序。
这是我的示例代码。如果声明和切换,我尝试了两个程序。我在这里使用了开关。
这是if语句
if ($ComboBox.SelectedItem -eq "vdi"){
$button2.Add_Click
$ie = new-object -Com "InternetExplorer.Application"
$ie.navigate2("website")
}
这是开关
$Form.ShowDialog() | out-null
$Form.FindName('autool_cmbx')
switch($ComboBox.Text) {
"vdi" {
$button2 = $Form.FindName('go_au')
$button2.Add_Click
$IE= new-object -Com "InternetExplorer.Application"
$IE.navigate2("website")
}
}
答案 0 :(得分:0)
您需要告诉Add_Click函数它需要做什么。在你的情况下,它可能是这样的:
$button2.AddClick {
$IE = New-Object -Com 'InternetExplorer.Application'
$IE.Navigate2("website")
$IE.Visible = $true
}
如果这不起作用,那么更多细节会很好。你是如何构建GUI的?单击按钮时发生了什么?什么不发生?会出现什么错误消息?
编辑:这是一个示例脚本,可以满足您的要求。您应该能够将其复制并粘贴到脚本文件中并运行它,它应该可以工作。让我知道你是怎么走的。
[reflection.assembly]::LoadWithPartialName("System.Drawing") | Out-Null
[reflection.assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
function Button_OnClick() {
"`$combo.SelectedItem = $($combo.SelectedItem)" | Out-GridView
if ($combo.SelectedItem -eq 'Google') {
Start-Process -FilePath 'C:\Program Files\Internet Explorer\iexplore.exe' -ArgumentList 'http://www.google.com'
} elseif ($combo.SelectedItem -eq 'Microsoft') {
$IE = New-Object -ComObject 'InternetExplorer.Application'
$IE.Navigate2('http://www.microsoft.com')
$IE.Visible = $true
}
}
$combo = New-Object -TypeName System.Windows.Forms.ComboBox
$combo.Location = New-Object -TypeName System.Drawing.Point -ArgumentList 5, 5
$combo.Size = New-Object -TypeName System.Drawing.Point -ArgumentList 100, 25
$combo.Items.Add('Google') | Out-Null
$combo.Items.Add('Microsoft') | Out-Null
$combo.SelectedIndex = 0
$button = New-Object -TypeName System.Windows.Forms.Button
$button.Location = New-Object -TypeName System.Drawing.Point -ArgumentList 5, 35
$button.Size = New-Object -TypeName System.Drawing.Point -ArgumentList 100, 25
$button.Text = 'Launch in IE'
$button.Add_Click({ Button_OnClick })
$form = New-Object -TypeName System.Windows.Forms.Form
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedSingle
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.Size = New-Object -TypeName System.Drawing.Point -ArgumentList 60, 105
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
$form.Controls.Add($combo)
$form.Controls.Add($button)
$form.ShowDialog() | Out-Null
答案 1 :(得分:0)
我使用Selecteditem.content使其工作,这是组合框属性!
$button.Add_Click({
if($ComboBox.SelectedItem.Content -eq "vpsx"){
$IE = new-object -Com "InternetExplorer.Application"
$IE.Visible = $true
$IE.navigate2("https://ctxau001mel0006.global.anz.com/Director/?
语言环境= EN_US#HOME",0×1000)} })