前提・実現したいこと
初めて質問をさせていただきます。
作成しているもの:Windows フォーム アプリケーション
開発環境
OS: Windows 10 64bit
.NET Framework: Version 4.7.03056 SP1Rel
開発ツール: Visual Studio 2010 Professional
使用言語: VB.Net
発生している問題
フォームを別のフォームから閉じる方法を教えてください。
例えば
親フォームが frmMain
子フォームが Form1とForm2とします。
frmMainからボタンでForm1を開きます(Form1.show())
その後frmMainから別のボタンでForm2を開きます(Form2.show())
この時にForm2を開く時にForm1が開いていれば、そのフォームを閉じるという 方法を知りたいです。
frmMainから(From1.Close())を試してもダメでした。
よろしくお願いします。
##追加です
VB.net
1frmMain.vb 2 3Public Class frmMain 4 Public Shared index As Integer 5 6 Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 7 Dim f As New frmMain() 8 '表示位置 9 f.StartPosition = FormStartPosition.WindowsDefaultLocation 10 '最大サイズと最小サイズを現在のサイズに設定する 11 Me.MaximumSize = Me.Size 12 Me.MinimumSize = Me.Size 13 Me.TopMost = False 14 Me.FormBorderStyle = FormBorderStyle.None 15 End Sub 16 Private Sub btn_frm1_Click(sender As System.Object, e As System.EventArgs) Handles btn_frm1.Click 17 If index = 1 Then 18 Else 19 Dim f As New From1() 20 f.FormBorderStyle = FormBorderStyle.None 21 f.Top = Me.Top 22 f.Left = Me.Left 23 f.StartPosition = FormStartPosition.Manual 24 f.Show() 25 MsgBox("close") 26 Form2.Close() 27 index = 1 28 End If 29 End Sub 30 31Private Sub btn_frm2_Click(sender As System.Object, e As System.EventArgs) Handles btn_frm2.Click 32 If index = 2 Then 33 Else 34 Dim f As New From2() 35 f.FormBorderStyle = FormBorderStyle.None 36 f.Top = Me.Top 37 f.Left = Me.Left 38 f.StartPosition = FormStartPosition.Manual 39 f.Show() 40 MsgBox("close") 41 Form1.Close() 42 index = 2 43 End If 44 End Sub 45End Class 46 47Form1.vb 48Public Class From1 49 Private Sub From1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 50 51 '最大サイズと最小サイズを現在のサイズに設定する 52 Me.MaximumSize = Me.Size 53 Me.MinimumSize = Me.Size 54 ' このフォームを常に最前面に表示する 55 Me.TopMost = True 56 End Sub 57End Class 58 59Form2.vb 60Public Class From2 61 Private Sub From2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 62 63 '最大サイズと最小サイズを現在のサイズに設定する 64 Me.MaximumSize = Me.Size 65 Me.MinimumSize = Me.Size 66 ' このフォームを常に最前面に表示する 67 Me.TopMost = True 68 End Sub 69End Class 70コード
回答2件
あなたの回答
tips
プレビュー