首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将浏览对话框中选定的文本传输到Powershell中的文本输入字段

将浏览对话框中选定的文本传输到Powershell中的文本输入字段
EN

Stack Overflow用户
提问于 2015-02-03 18:39:37
回答 1查看 1.8K关注 0票数 1

第一次尝试Powershell v3中的自定义对话框。我想在表单中添加一个浏览按钮。我有它,所以它显示了浏览按钮,但我似乎找不出从OpenFileDialog对象获取文件名并将其显示在objTextBox字段中的部分。我已经研究过了,但似乎找不到任何文章来解释这一过程。

代码语言:javascript
复制
$objTextBox = New-Object System.Windows.Forms.TextBox
$objTextBox.Name = 'Text1' 
$objTextBox.Location = New-Object System.Drawing.Size(10,40) 
$objTextBox.Size = New-Object System.Drawing.Size(260,20) 
$objForm.Controls.Add($objTextBox) 



#File Browser Code.

    $FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
        InitialDirectory = [Environment]::GetFolderPath('Desktop')
    }


$browse_button = New-Object system.Windows.Forms.Button
$browse_button.Text = "Choose...."
$browse_button.Location = New-Object System.Drawing.Size(10,75) 
$browse_button.Size = New-Object System.Drawing.Size(100,27) 
$browse_button.Add_Click({[void]$FileBrowser.ShowDialog()})
$objForm.Controls.Add($browse_button)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 21:31:11

我想我会稍微换一种方式。我会创建一个显示Browse对话框并输出一个字符串的函数(刚好放在手上)。然后,对于Add_Click设置textbox的值=函数。类似于:

代码语言:javascript
复制
Function Get-FilePath{
[CmdletBinding()]
Param(
    [String]$Filter = "|*.*",
    [String]$InitialDirectory = "C:\")

    [void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
    $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
    $OpenFileDialog.initialDirectory = $InitialDirectory
    $OpenFileDialog.filter = $Filter
    [void]$OpenFileDialog.ShowDialog()
    $OpenFileDialog.filename
}

$objTextBox = New-Object System.Windows.Forms.TextBox
$objTextBox.Name = 'Text1' 
$objTextBox.Location = New-Object System.Drawing.Size(10,40) 
$objTextBox.Size = New-Object System.Drawing.Size(260,20) 
$objForm.Controls.Add($objTextBox)
$browse_button = New-Object system.Windows.Forms.Button
$browse_button.Text = "Choose...."
$browse_button.Location = New-Object System.Drawing.Size(10,75) 
$browse_button.Size = New-Object System.Drawing.Size(100,27) 
$browse_button.Add_Click({$objTextBox.Text = Get-FilePath -InitialDirectory "$env:UserProfile\Desktop"})
$objForm.Controls.Add($browse_button) 
$browse_button.Text = "Choose...."
$browse_button.Location = New-Object System.Drawing.Size(10,75) 
$browse_button.Size = New-Object System.Drawing.Size(100,27) 
$browse_button.Add_Click({[void]$FileBrowser.ShowDialog()})
$objForm.Controls.Add($browse_button) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28306339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档