回答編集履歴

1

回答に追記

2020/09/27 01:40

投稿

y_waiwai
y_waiwai

スコア87784

test CHANGED
@@ -1,3 +1,91 @@
1
1
  たんにform2のインスタンスを渡してそこからアクセスすればいいだけです。
2
2
 
3
3
  それができない理由がなにかあるんでしょうか。
4
+
5
+
6
+
7
+ ---
8
+
9
+
10
+
11
+ [「ファイルを開く」ダイアログボックスを表示する - .NET Tips (VB.NET,C#...)](https://dobon.net/vb/dotnet/form/openfiledialog.html)
12
+
13
+
14
+
15
+ ```VB.NET
16
+
17
+ 'OpenFileDialogクラスのインスタンスを作成
18
+
19
+ Dim ofd As New OpenFileDialog()
20
+
21
+
22
+
23
+ 'はじめのファイル名を指定する
24
+
25
+ 'はじめに「ファイル名」で表示される文字列を指定する
26
+
27
+ ofd.FileName = "default.html"
28
+
29
+ 'はじめに表示されるフォルダを指定する
30
+
31
+ '指定しない(空の文字列)の時は、現在のディレクトリが表示される
32
+
33
+ ofd.InitialDirectory = "C:\"
34
+
35
+ '[ファイルの種類]に表示される選択肢を指定する
36
+
37
+ '指定しないとすべてのファイルが表示される
38
+
39
+ ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*"
40
+
41
+ '[ファイルの種類]ではじめに選択されるものを指定する
42
+
43
+ '2番目の「すべてのファイル」が選択されているようにする
44
+
45
+ ofd.FilterIndex = 2
46
+
47
+ 'タイトルを設定する
48
+
49
+ ofd.Title = "開くファイルを選択してください"
50
+
51
+ 'ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
52
+
53
+ ofd.RestoreDirectory = True
54
+
55
+ '存在しないファイルの名前が指定されたとき警告を表示する
56
+
57
+ 'デフォルトでTrueなので指定する必要はない
58
+
59
+ ofd.CheckFileExists = True
60
+
61
+ '存在しないパスが指定されたとき警告を表示する
62
+
63
+ 'デフォルトでTrueなので指定する必要はない
64
+
65
+ ofd.CheckPathExists = True
66
+
67
+
68
+
69
+ 'ダイアログを表示する
70
+
71
+ If ofd.ShowDialog() = DialogResult.OK Then
72
+
73
+ 'OKボタンがクリックされたとき、選択されたファイル名を表示する
74
+
75
+ Console.WriteLine(ofd.FileName)
76
+
77
+ End If
78
+
79
+ ```
80
+
81
+
82
+
83
+ ここでは、ofd にOpenFileDialogというフォームのインスタンスを入れて、そのofdから、そのフォームの変数やプロパティにアクセスし、表示してます。
84
+
85
+
86
+
87
+ 同じことを、form2やform3に対して行えばいいという話となります
88
+
89
+
90
+
91
+ #なんなら、form1のインスタンスを渡してやるというはなしに