我正在创建一个执行特定程序数据迁移的 powershell 工具。我需要执行的一个步骤是检查 SQL Server 是否可以写入指定的文件位置。我有一个按钮用于检查路径的访问权限。如果用户没有所需的访问权限,则会在文件路径旁边放置一个小图片框(带有警告图像)。同样,如果用户有访问权限,则会在文件路径旁边放置一个小图片框(带有成功复选标记)。
假设用户修复了没有访问权限的文件路径,并且他们希望重新运行访问权限检查器。我希望删除以前的图片框并刷新表单,以便在再次运行检查器之前不会显示警告图像或成功图像。
我的问题是,在运行访问权限检查后,图片框不会被删除,表单也不会刷新。如果文件路径已更改且现在具有访问权限,则仍会显示旧的图片框(带有警告图标),这是不正确的。
我想了一些类似的事情:
$form.controls.Remove($pictureBox3)
$form.controls.refresh()
会删除图片框,但似乎并非如此。我是不是忽略了什么?
答案1
因为.Controls
是一个集合,所以您可以$form.Controls.Remove($pictureBox3)
随意调用。
但那时你就需要$form.Refresh()
。
如果脚本仍在处理中,我发现这会有点不稳定,并且可能在一秒钟左右的时间内不会真正刷新。