トップ回答者
Form1のデータをForm2で呼び出す方法

質問
-
お世話になります。現在、VB.NET Windowsフォームアプリケーションで編集画面(Form1)と実行画面(Form2)という仕様を目指して制作しているところです。
Form1からForm2を表示するときは、Form1上のbutton1.clickで表示しています。
目指している機能は
①Form1のPictureBox1に表示している画像ファイルを、Form1上のbutton1.clickでForm2を表示した時にForm2のPictureBox1にも表示する。
②Form1のPictureBox1.clickで取得したwavファイルを、Form2のPictureBox1.clickで取得して再生する。
です。
①②のパスの渡し方が分かりません。
調べがつかなかったのでご教授お願いします。
- 編集済み 熊テン 2017年10月10日 8:32
- 移動 立花楓Microsoft employee, Moderator 2017年10月13日 2:27 .NET Framework から
回答
-
こんにちは。
そのまんまな気がしますが、どの辺りが不明なのか具体的に記載したほうが良いと思います。
タイトルのとおりであれば①も②もパスの渡し方がわからないという話ですか?Form1からForm2にパスを渡す口を作れば解決すると思いますが。
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var form2 = new Form2(); form2.SetPath("ファイルパスなど"); form2.Show(); } } public partial class Form2 : Form { public Form2() { InitializeComponent(); } public void SetPath(string path) { } }
- 回答としてマーク 熊テン 2017年10月10日 12:15
-
熊テン さま よろしく。
こんな感じでは如何ですか?。
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.PictureBox1.Image = Image.FromFile("C:\Users\UserA\Pictures\SDimage\DSCNnnnn.jpg") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim form2 As New Form2 form2.PictureBox1.Image = Me.PictureBox1.Image form2.wavFile = "hoge.wav"
form2.Label1.Text = form2.wavFile form2.Show() End Sub End ClassPublic Class Form2 Public wavFile As String = "" Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
- 編集済み ShiroYuki_Mot 2017年10月10日 9:38 waveFile 渡し修正
- 回答としてマーク 熊テン 2017年10月10日 12:15
すべての返信
-
こんにちは。
そのまんまな気がしますが、どの辺りが不明なのか具体的に記載したほうが良いと思います。
タイトルのとおりであれば①も②もパスの渡し方がわからないという話ですか?Form1からForm2にパスを渡す口を作れば解決すると思いますが。
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var form2 = new Form2(); form2.SetPath("ファイルパスなど"); form2.Show(); } } public partial class Form2 : Form { public Form2() { InitializeComponent(); } public void SetPath(string path) { } }
- 回答としてマーク 熊テン 2017年10月10日 12:15
-
熊テン さま よろしく。
こんな感じでは如何ですか?。
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.PictureBox1.Image = Image.FromFile("C:\Users\UserA\Pictures\SDimage\DSCNnnnn.jpg") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim form2 As New Form2 form2.PictureBox1.Image = Me.PictureBox1.Image form2.wavFile = "hoge.wav"
form2.Label1.Text = form2.wavFile form2.Show() End Sub End ClassPublic Class Form2 Public wavFile As String = "" Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
- 編集済み ShiroYuki_Mot 2017年10月10日 9:38 waveFile 渡し修正
- 回答としてマーク 熊テン 2017年10月10日 12:15
-
今後、プログラムを進めていく上で、オブジェクト指向の考え方を学習していくことはとても大切なことです。
フォームは特殊な感じがするかもしれませんが、オブジェクトに過ぎません。以下のページを読み、良く理解されることをお勧めします。別のフォームのデータを取得、設定する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
-
熊テン さん、こんにちは。
フォーラム オペレーターの立花楓です。Azulean さんが仰られているとおり、今回のご質問内容は、「.NET Framework 」フォーラムよりも、「Visual Basic」 フォーラムが適していると思いましたので、こちらで移動させていただきました。
回答が集まりやすくなったり、同様の問題を抱える他のユーザーが閲覧しやすくなったりと、意見交換の場として非常に有意義なものになることをご認識いただけますと幸いです。
MSDN フォーラム > Visual Studio Development > Visual Basic
https://social.msdn.microsoft.com/Forums/ja-JP/home?forum=vbgeneralja&filter=alltypes&sort=lastpostdescよろしくお願いいたします。
MSDN/TechNet Community Support 立花楓
- 編集済み 立花楓Microsoft employee, Moderator 2017年10月13日 2:28