【问题标题】:How to hide a picture box on another Form如何在另一个表单上隐藏图片框
【发布时间】:2017-05-23 04:45:39
【问题描述】:

详细说明标题:

我目前有 2 个表格。

  • Form1 = 主窗体
  • Form2 = 使用 ShowDialog() 链接到 Form1

Form1 有 3 个图片框和一个按钮

Form2 是一个简单的可填写表单,我想要它做的是当我单击 Form2 上的 OK 按钮时,我将 form2 设置为关闭但我需要隐藏 Form1 上的图片框和按钮,即让它显示为空白.

我不太确定自己做错了什么。

我在 Form2.vba 中添加了图片框作为公共声明

Public Class CreateNewProject

'declare Form1 objects
Public Img_Documentation As PictureBox
Public Img_OnlineResources As PictureBox
Public Img_Tutorials As PictureBox

我将.hide() 添加到按钮子中的每个图片框

Private Sub ButtonOK_Click(sender As Object, e As EventArgs) Handles ButtonOK.Click

    If TextNewProjectName.Text = "" And TextSaveFileLocation.Text = "" Then
        MessageBox.Show("Please enter a " & LabelProjectFileName.Text & vbCrLf & vbCrLf & "Please choose a " & LabelSaveFileLocation.Text, "Warning")
    Else
        'Close current form
        Me.Close()
        'Close objects on Form1
        Img_Documentation.Hide()
        Img_OnlineResources.Hide()
        Img_Tutorials.Hide()
    End If
End Sub

或者,我尝试创建一个新的空白表单 (form3),在关闭 form2 后打开该表单,效果很好,但我无法使用 Form1.close() 关闭 Form1。

 Me.Close()
 Form3.Show()
 Form1.close()

【问题讨论】:

  • Form2 中应该没有引用Form1 的代码。当Form1 调用ShowDialog 时,它会阻塞直到Form2 关闭。这意味着您只需添加代码以在 ShowDialog 调用之后隐藏您的控件。如果Form1 需要来自Form2 的数据来确切知道要做什么,那么您在Form2 中添加公共属性以公开该数据,然后Form1 检索它。 Form1 为自己工作,Form2 甚至不知道 Form1 的存在。

标签: vb.net visual-studio-2015


【解决方案1】:

在打开 Form2 之前,只需隐藏 Form1 上的 PictureBox

PictureBox1.Visible = False
PictureBox2.Visible = False
PictureBox3.Visible = False
Form2.Show()

【讨论】:

  • @Nix 如果这解决了您的问题,请记得将其标记为答案
猜你喜欢
  • 2021-09-07
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多