Powershell更新一个已经激活的表单

问题描述

因此,我试图将红点插入某种类型的地图中,这是在从txt文件中读取其坐标后创建新的图片框的方法。 我现在的目标是在使用form.ShowDialog()的同时删除或创建新框。 我找到了一种关闭整个表单并再次运行所有内容的方法,这种工作方式在我看来非常难看。想知道是否存在另一种检查新坐标是否已添加到txt文件或已删除的方法,如果是这种情况,则创建或删除相应的框。

(我尝试过刷新,但这似乎什么也没做)

function MakeForm {
[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.Application]::EnableVisualStyles();
$form = new-object Windows.Forms.Form
$form.Text = "Image Viewer"
$form.Width = 270;
$form.Height =  270;

$path = (Get-Item "Insert Path here")
$path2 = (Get-Item "Insert Path here")


$img = [System.Drawing.Image]::Fromfile($path);
$img2 = [System.Drawing.Image]::FromFile($path2);



$test = Get-Content -Path "Insert Path here"
$test
$pictureBoxes = New-Object 'System.Collections.Generic.List[Windows.Forms.PictureBox]'
$i=1


Foreach ($Line in $test){
    if ($Line -like "*in 2*"){
        $i++
        $Split1= $Line.Split(" ")
        $x=$Split1[5]
        $y=$Split1[6]
        $pictureBox = New-Object Windows.Forms.PictureBox
        $pictureBox.Width =  $img.Size.Width;
        $pictureBox.Height =  $img.Size.Height;
        $pictureBox.Location = New-object System.Drawing.Size($x,$y)
        $pictureBox.Image = $img;
        $form.Controls.Add($pictureBox)
        $pictureBoxes.Add($pictureBox)

        Write-Host $pictureBoxes[$i]

        $form.Add_Shown( { $form.Activate() } )
        
    } 
}


$pictureBox20 = New-Object Windows.Forms.PictureBox
$pictureBox20.Width = $img2.Size.Width;
$pictureBox20.Height = $img2.Size.Height;
$pictureBox20.Image = $img2;
$form.Controls.Add($pictureBox20)


$button1 = New-Object System.Windows.Forms.Button
$button1.Width=25
$button1.Height=223
$button1.Location = New-Object System.Drawing.Point(223,0)
$form.Controls.Add($button1)

$button1.Add_Click({
    #Button for removing a box for testing purposes
    $form.Controls.Remove($pictureBoxes[3])
})


$button2 = New-Object System.Windows.Forms.Button
$button2.Width=25
$button2.Height=223
$button2.Location = New-Object System.Drawing.Point(260,0)
$form.Controls.Add($button2)

$button2.Add_Click({
    #This Button should refresh the whole form,if possible without doing everything again
    $form.Close()
    $form.Dispose()
    MakeForm
})

$form.Add_Shown( { $form.Activate() } )
$form.ShowDialog()
}
MakeForm

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...