Como remover um picturebox de uma GUI do powershell depois de ter sido adicionado?

0

Estou criando uma ferramenta powershell que executa uma migração específica de dados do programa. Uma etapa que preciso executar é verificar se o SQL Server pode gravar nos locais de arquivo especificados. Eu tenho um botão que é usado para verificar os direitos de acesso nos caminhos. Se o usuário não tiver os direitos de acesso necessários, um pequeno picturebox (com uma imagem de aviso) será colocado ao lado do caminho do arquivo. Da mesma forma, se o usuário tiver direitos de acesso, um pequeno picturebox (com uma marca de seleção de sucesso) será colocado ao lado do caminho de arquivo.

Suponha que o usuário corrija os caminhos de arquivos que não possuem direitos de acesso e que desejem executar novamente o verificador de acesso correto. Eu quero que os pictureboxes anteriores sejam removidos e o formulário atualizado para que eu não exiba uma imagem de aviso ou imagem de sucesso até que o verificador seja executado novamente.

Meu problema é que depois de executar a verificação direita de acesso, as caixas de imagem não são removidas e o formulário não é atualizado. Se o caminho de arquivo foi alterado e agora tem direitos de acesso, a caixa de imagem antiga (com o ícone de aviso) ainda é exibida, o que é incorreto.

Eu percebi algo como:

$form.controls.Remove($pictureBox3)

$form.controls.refresh()

removeria os pictureboxes, mas esse não parece ser o caso. Existe algo que eu estou negligenciando?

    
por AKISH 10.12.2014 / 01:36

1 resposta

0

Como .Controls é uma coleção, você pode chamar $form.Controls.Remove($pictureBox3) como você diz.

Mas você precisa $form.Refresh() .

Descobri que isso é um pouco chato se o script ainda estiver sendo processado e talvez não seja realmente atualizado por um segundo.

    
por 10.12.2014 / 07:58