จะลบ picturebox ออกจาก powershell GUI ได้อย่างไรหลังจากที่เพิ่มไปแล้ว?


0

ฉันกำลังสร้างเครื่องมือ PowerShell ที่ดำเนินการย้ายข้อมูลโปรแกรมโดยเฉพาะ ขั้นตอนเดียวที่ฉันต้องทำคือตรวจสอบว่าเซิร์ฟเวอร์ SQL สามารถเขียนไปยังตำแหน่งไฟล์ที่ระบุได้หรือไม่ ฉันมีปุ่มที่ใช้เพื่อตรวจสอบสิทธิ์การเข้าถึงบนเส้นทาง หากผู้ใช้ไม่มีสิทธิ์การเข้าถึงที่ต้องการจะมีการวาง picturebox ขนาดเล็ก (พร้อมภาพเตือน) ไว้ข้างไฟล์พา ธ ในทำนองเดียวกันหากผู้ใช้มีสิทธิ์การเข้าถึง picturebox ขนาดเล็ก (พร้อมเครื่องหมายถูกสำเร็จ) จะถูกวางไว้ถัดจาก filepath

สมมติว่าผู้ใช้แก้ไข filepaths ที่ไม่มีสิทธิ์การเข้าถึงและพวกเขาต้องการเรียกใช้ตัวตรวจสอบสิทธิ์การเข้าถึงอีกครั้ง ฉันต้องการให้ลบกล่องภาพก่อนหน้าและแบบฟอร์มที่รีเฟรชดังนั้นฉันจึงไม่แสดงภาพคำเตือนหรือภาพความสำเร็จจนกว่าตัวตรวจสอบจะทำงานอีกครั้ง

ปัญหาของฉันคือหลังจากเรียกใช้การตรวจสอบที่ถูกต้องแล้วกล่องภาพจะไม่ถูกลบออกและแบบฟอร์มจะไม่ได้รับการรีเฟรช หาก filepath มีการเปลี่ยนแปลงและตอนนี้มีสิทธิ์การเข้าถึง picturebox เก่า (พร้อมไอคอนคำเตือน) จะยังคงแสดงซึ่งไม่ถูกต้อง

ฉันคิดอะไรบางอย่างตามแนวของ:

$form.controls.Remove($pictureBox3)

$form.controls.refresh()

จะลบ pictureboxes แต่ดูเหมือนจะไม่เป็นเช่นนั้น มีบางอย่างที่ฉันสามารถมองเห็นได้หรือไม่?

คำตอบ:


0

เนื่องจาก.Controlsเป็นคอลเลกชันที่คุณสามารถโทร$form.Controls.Remove($pictureBox3)ตามที่คุณพูด

$form.Refresh()แต่แล้วคุณจะต้อง

ฉันพบสิ่งนี้จะค่อนข้างสะเพร่าถ้าสคริปต์ยังคงดำเนินการอยู่และอาจไม่รีเฟรชเป็นวินาทีหรือมากกว่านั้น


ทุกสิ่งที่คุณพูดถูกต้อง ปัญหาดูเหมือนจะเป็นวิธีที่ฉันสร้างภาพที่ ฉันประกาศทุกอย่างเกี่ยวกับ picturebox แยกจากการเพิ่ม picturebox และดูเหมือนว่าจะใช้งานได้ ขอบคุณ
AKISH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.