■87426 / ) |
条件により類似のモーダルフォームを切り替える |
□投稿者/ うるち米 (1回)-(2018/05/21(Mon) 17:23:13)
|
分類:[VB.NET/VB2005 以降]
現在、以下のようなコードでモーダルフォームを表示し、
モーダルフォームで設定した情報を取得し、これを元に処理をしています。
(VB2015使用)
Using f As New Form1
If f.ShowDialog(Me) = DialogResult.Cancel Then
Return
End If
Dim para1 as String = f.Prop1
Dim para2 as Integer = f.Prop2
Dim para3 as Boolean = f.Prop3
'(以下、これらパラメータを使用して処理)
End Using
ただし、今回の修正で、条件によりモーダルで開くフォームをForm1ではなくForm2にする、
ということを行う必要が出てきました。
ただし、Form1とForm2はデザインが異なるのみで、この処理に使用する各フォームのプロパティも
Prop1, Prop2, Prop3という同じ名前・同じ型です。
例えば、以下のようにすればよいかも知れませんが、Usingの内部は全く同じコードとなり、
1箇所にまとめてコードを書くことができればメンテナンスも楽ではないかと思います。
If (条件) Then
Using f As New Form1
If f.ShowDialog(Me) = DialogResult.Cancel Then
Return
End If
Dim para1 as String = f.Prop1
Dim para2 as Integer = f.Prop2
Dim para3 as Boolean = f.Prop3
'(以下、これらパラメータを使用して処理)
End Using
Else
Using f As New Form2
If f.ShowDialog(Me) = DialogResult.Cancel Then
Return
End If
Dim para1 as String = f.Prop1
Dim para2 as Integer = f.Prop2
Dim para3 as Boolean = f.Prop3
'(以下、これらパラメータを使用して処理)
End Using
End If
このような場合、どのようなコードを書くのが望ましいでしょうか?
|
|