- - PR -
子フォームへ画像を表示する方法について
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-12 18:21
いつも大変勉強させて頂いております。
C#初心者です。早速ですが、下記の件でご教授願いたくお願い致します。 Form:A (MDI親フォーム:IsMdiContainer→true) Form:B (MDI子フォーム) (1)フォームAのメニューから子フォームBを開く場合 B f = new B(); B.MdiParent = this; B.Show(); と行えば良いのは知っております。 (2)フォームAのメニューバーからフォームAのピクチャーボックスに画像を表示する方法は知っています。 private void menuItem_Click(object sender, System.EventArgs e) { if(openFileDialog1.ShowDialog() == DialogResult.OK) { Bitmap bmp = new Bitmap(openFileDialog1.FileName); pictureBox1.Width = bmp.Width; pictureBox1.Height = bmp.Height; pictureBox1.Image = bmp; pictureBox1.Show(); } } (3)しかし、フォームAのメニュー(開く)をクリックすると画像ファイルをフォームBのピクチャーボックスに表示する方法が分かりません。大変初歩的な質問で誠に申し訳ありませんが、何卒宜しくお願い致します。 環境:WindowsXP Pro MS Visual .net2003 C# | ||||||||||||
|
投稿日時: 2005-10-12 21:14
B f = new B();
B.MdiParent = this; ここで、FormA内に作られているビットマップを、FormBに参照させればよい B.Show(); ということでは? たとえば、 class FormB : Form { ... public Bitmap Image4Display; ... } B f = new B(); B.MdiParent = this; B.Image4Display = new Bitmap(openFileDialog1.FileName); B.Show(); _____________________________________________________________________________ □ Posted by Jitta on 2005/10/12 □ じったのノート □ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||||||
|
投稿日時: 2005-10-12 21:15
フォームBに「画像ファイルを表示するメソッド」をPublicで作る フォームAからフォームBを開く フォームAからフォームBにある「画像ファイルを表示するメソッド」を呼び出す で答えになっていますか? _________________ たつごろー codeseek こみゅぷらす | ||||||||||||
|
投稿日時: 2005-10-18 23:17
たつごろ様、Jitta様
ご回答どうもありがとうございました。 コメントを参考に自分の力でやろうと思いましたがうまくいきませんでした。 本当に初心者なので、差し支えなければクラスの参照方法を含めて少し詳細に教えて頂ければ幸いです。(自分も継続して勉強いたします。) ご参考までに、下記のようにすると、フォームAの「Open」メニューをクリックすると画像選択のためのフォルダーが開かれ、任意の画像を選択するとフォームBが開きます。(当たり前かもしれませんが、空のフォームだけです。) フォームAにはピクチャーボックスなし、フォームBにピクチャーボックス1が設定されています。 以上、よろしくお願いします public void menuItem_Open_Click(object sender, System.EventArgs e) { if(openFileDialog1.ShowDialog() == DialogResult.OK) { Form2 f = new Form2(); f.MdiParent = this; // f.bmpImage = new Bitmap(openFileDialog1.FileName); // pictureBox1.Width = bmp.Width; // pictureBox1.Height = bmp.Height; // pictureBox1.Image = bmp; f.Show(); } } | ||||||||||||
|
投稿日時: 2005-10-18 23:57
いつもお世話になっております。
質問に補足しますと、やりたい事は、「Photoshop」のようにファイルを開くと、選択した画像が子フォームに表示されるようにすることです。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2005-10-19 09:09
こんにちは、naga さん。
そうなると、実際のコードを見て頂くしか選択子がなくなりますね。 まず、Form2 (Image を表示するフォーム) に以下のように ShowImage メソッドを定義します。
Form1 (呼び出す方のフォーム) でこのように呼び出します。
どうでしょう? イメージは掴めましたでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-10-19 10:11
じゃんぬねっと様
どうもありがとうございました。 大変に参考になりました。 今後ともよろしくお願いします。 みなさまのご教授ありがとうございました。 取り急ぎ、お礼まで。 | ||||||||||||
1
