powershell 在Add_DragEnter事件中将文件拖到文本框时禁用“拒绝访问”图标

yvfmudvl  于 2022-12-13  发布在  Shell
关注(0)|答案(1)|浏览(100)

我有一段代码,允许我将文件资源管理器中的文件拖到窗体上的文本框中。该代码运行正常。但是,文本框上出现一个“禁止访问”图标,即使可以将文件拖到那里也没有问题。有什么方法可以阻止该图标出现吗?
为清楚起见,“禁止访问”图标是一个圆圈,从圆圈的左上角到右下角有一条对角线。(从10点到4点,如果你们还记得时钟是圆的,还有指针的话)
编辑:添加代码以进行说明。
文本框代码:

$tbxPath = New-Object System.Windows.Forms.TextBox
$tbxPath.Location = '10,30'
$tbxPath.Size = '370,20'
$tbxPath.AllowDrop = $true
$tbxPath.Add_DragOver({$_.Effect = [System.Windows.Forms.DragDropEffects]::Copy})
$tbxPath.Add_DragEnter({ GetFirstFile($_)})

与获取文件路径相关的代码(不确定它是否与此问题有关,但我还是会将其包括在内。无论如何,我可以使用Add_DragOver或Add_DragEnter来调用我的GetFirstFile函数。)

function GetFirstFile($Object){

    $tbxPath.Clear()

    foreach ($File in $Object.Data.GetFileDropList()){

    $tbxPath.Tag = Split-Path $File -Parent

    $tbxPath.Text = Split-Path  $File -Leaf

    $lblInstructions.Text = 'Click the open button'

    $lblInstructions.ForeColor = 'Black'

    $cbOpen.Focus()

    break

  }

}
anauzrmj

anauzrmj1#

将以下内容添加到文本框的定义中:

$textBox.AllowDrop = $true
$textBox.Add_DragOver({$_.Effect = [System.Windows.Forms.DragDropEffects]::Copy})

相关问题