2017-05-23 17 views
0

タイトルを詳しく調べよう:別のフォームの画像ボックスを非表示にする方法

私は現在2つのフォームを持っています。 Form1にリンクされ

  • をForm1 =メインフォーム
  • のForm2 = ShowDialog()

を使用して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 

でパブリック宣言として画像ボックスを追加し、私は私のボタンのサブ代わり

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 

内の各ピクチャボックスに.hide()を追加し、私は新しいを作成してみました空白のフォーム(form3)は、フォーム2を閉じた後にそのフォームを開きましたが、うまくいきましたが、Form1.close()を使用してForm1を閉じることができません。あなたがForm2を開く前

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

'Form1'を指しForm2''で、まったくのコードがあってはなりません。 'Form1'が' ShowDialog'を呼び出すと、 'Form2'が閉じるまでブロックされます。これは、 'ShowDialog'呼び出しの後にコントロールを隠すコードを追加するだけで済むことを意味します。 'Form1'が' Form2'のデータを必要としている場合、正確にhwatを知るためには 'Form2'に公開プロパティを追加してデータを公開し、' Form1'はそれを取得します。 'Form1'はそれ自身のための作業を行い、' Form2'は 'Form1'が存在することさえ知らない。 – jmcilhinney

答えて

0

は、単にあなたのForm1PictureBoxを隠す:

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

ありがとう!今私は馬鹿だと感じる。 – Nix

+0

@Nixこれがあなたの問題を解決した場合、答えとしてマークすることを忘れないでください – Mederic

関連する問題