人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VS2015 C#について教えてください。以下でBitmap[] bmp = new Bitmap[300]と宣言しています。このbmp変数はform2,form3という別フォームでも参照したいです。
どのようにすればいいでしょうか? calss Form1の外側で宣言する場合、エラーとなります。


public partial class Form1 : Form {
string[] files = System.IO.Directory.GetFiles("C:\\test", "*", System.IO.SearchOption.AllDirectories);
Bitmap[] bmp =new Bitmap[300];
private void Form1_Load(object sender, EventArgs e) {
for(int i = 0; i < files.Length-1; i++) {
bmp[i] = new Bitmap("c:\\dummy.jpg");
........

●質問者: mai_mai_mail
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● degucho
●50ポイント

http://home.a00.itscom.net/hatada/csharp/global01.html
あまり好まれませんが、static classのpublicメンバーで持つことで
グローバル変数になりますが
一般的には画像管理クラスを作成してインデックスを渡すと画像を返すような作りにするかと思います


2 ● こばさん
●50ポイント

大ざっぱにやる場合

 public partial class Form1 : Form
 {
 string[] files = System.IO.Directory.GetFiles("C:\\test", "*", System.IO.SearchOption.AllDirectories);
 public Bitmap[] bmp = new Bitmap[300];

 private void Form1_Load(object sender, EventArgs e)
 {
 for (int i = 0; i < files.Length - 1; i++)
 {
 bmp[i] = new System.Drawing.Bitmap("c:\\dummy.jpg");
 }
 }
 }

もうちょっとマシな方法

 public partial class Form1 : Form
 {
 string[] files = System.IO.Directory.GetFiles("C:\\test", "*", System.IO.SearchOption.AllDirectories);
 Bitmap[] bmp = new Bitmap[300];

 private void Form1_Load(object sender, EventArgs e)
 {
 for (int i = 0; i < files.Length - 1; i++)
 {
 bmp[i] = new System.Drawing.Bitmap("c:\\dummy.jpg");
 }
 }

 public Bitmap get_bmp(int idx)
 {
 return bmp[idx];
 }
 }
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ