• ベストアンサー

c# pictureboxについて教えて下さい。

c# にて、 picturebox3という番号指定ではなく、変数を使用して, int a = 3; picturebox[a]みたいな代入の方法がどうしても解りません。 レベルの低い質問で大変恐縮ですが、どなたかお教え下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんばんは。 Formに直接貼り付けてるなら、 this.Controls["picturebox" + a.ToString()] とか・・・。

kasudesu
質問者

お礼

すいません。素直に設定したらうまくいきました。どうやら難しく考え過ぎていたようです。有効なアドバイスを頂き有難うございました。

kasudesu
質問者

補足

早々のご回答有難うございます。アドバイスに従い色々やってみているのですが、理解できていない為かうまくいきません。もう少しだけ詳しいアドバイスをお願いできませんでしょうかm(_)m。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

こんにちは。 どのように「上手くいかない」のでしょうか・・・? コレクションの中に入っているので、名前をキーにして取得できると思うのですが。 1.取得した後、キャストしていない。 2.Formに直接貼り付けているオブジェクトではない。 のどちらかだと思いますが・・・。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C# pictureBox(a)

    Visual C# 2008にて int a = 3; pictureBox(a).Image = Properties.Resources.Icon1_2; みたいな代入の方法がどうしても解りません Properties.Resources.Icon1_2は リソースのIcon1_2.bmpです 過去のQ&A QNo6332332を読んでも解りません。 pictureBoxを貼り付けてダブルクリック Tagを1.などに設定 private void pictureBox1_Click(object sender, EventArgs e) { PictureBox pict = sender as PictureBox; MessageBox.Show(pict.Name); MessageBox.Show(pict.Tag.ToString()); int picb = int.Parse(pict.Tag.ToString()); pictureBox(picb).Image = Properties.Resources.Icon1_2; } 上のようにしたい アドバイスをお願いできませんでしょうか

  • C# PictureBox について

    C#のPictureBoxにビットマップを表示させようとしています。 取得元のビットマップはC++のDll内でDirectShowでキャプチャしたもので、ヘッダー情報付きビットマップへのbyteポインタを返却させています。 C#側でunsafeブロックを用いてポインタ自体は取得できておりますが、次のステップとして、これをC#のPictureBoxに貼りつけるためにはどうすれば良いのか分からず、苦戦しております。 画像の大きさやバイト数は前もって分からないことが前提となっております。 C#が初心者に近いこともあり、セオリーでない方法かもしれませんが、ご教授頂ければ幸いです。

  • C# 変数を変数で指定したい

    UnityとC#でプログラミングの勉強をしている者です。 「操作する変数」を、変数を使って指定するにはどのような方法を使えば良いのでしょうか。 以下、例となります。 aという変数、およびb1、b2、b3……という変数があるとしたとき、 「a=1ならば、b1に1を代入する」 「a=2ならば、b2に1を代入する」 「a=3ならば、b3に1を代入する」…… という処理をする方法を探しています。 よろしくお願い致します。

  • pictureboxの表示について

    いつもお世話になります。 C#について質問です。VisualC#2008を使っています。 private PictureBox[] pictArray = new PictureBox[100]; private void Box_Load() { PictureBox pict; int nIdx = 0; while (nIdx < pictArray.Length) { pict = new PictureBox(); pictArray[nIdx] = pict; pict.Click += new EventHandler(pict_Click); nIdx++; } } のように、あるメソッドで配列にpictureboxの画像を代入(?)していく処理をしています。このメソッドを別のメソッドで呼び出し、 pictArray[1]に格納されているpicturebox pictArray[2]に格納されているpicturebox  …といった具合に、次々と表示させていきたいと考えています。しかし1つしかpictureboxが表示されません。具体的には以下のようなプログラムを組んでいるところです。 private void pict_Click(object sender, EventArgs e) { Box_Load(); kihon_pict.Location = new Point(10, yy); this.panel1.Controls.Add(pict); yy += 40; } 誰か解決策を教えていただけないでしょうか? よろしくお願いします。

  • Listの<Label>と<PictureBox>

    C# リスト型作成 List<Label> labesetl; List<PictureBox> pictureboxset; リストの中に10個のLabelとPictureBoxを作る for(int lblcount=0 ; lblcount<10; lblcount++) { labelset.Add(new Label()); } for(int ptbcount=0 ; ptbcount<10; ptbcount++) { pictureboxset.Add(new PictureBox()); } 先にlabelsetを2段にして5行表示にし、表示させます 次にpictureboxsetを半透過(100,255,255,255)で2段にして5行表示にし、表示させます ここからが質問です。 セットしたlabelsetの好きなとこをクリックした時、 そのクリックしたlabelset[]とpictureboxset[]の番号を取るにはどうすればできますか?

  • C#のpictureBoxの描画のタイミング

    C#のpictureBoxの描画について質問します。 drawにpictureBoxの描画コードが有りますがあり、Form1() の InitializeComponent();の 後(コードA)では、描画できませんが、button1_Click(コードB)では、描画できるようです。 Q1)プログラムの起動時に、描画できる方法はありますか? public Form1() { InitializeComponent(); 処理コード draw(); //コードA } private void button1_Click(object sender,EventArgs e) { draw(); //コードB }

  • Borland C++ Compiler 5.5の警告について

    Borland C++ Compiler 5.5を使用してコンパイルしているのですが、 下記のソースをコンパイルするとエラーがでます。 #include <stdio.h> ------test.c------ int main(void) { int a; int b=0; b = a; return 0; } 警告 W8004 error.c 6: 'b' に代入した値は使われていない(関数 main )という警告なのですが、初期化をしている変数すべての警告がでてしまい困っています。 この警告だけを表示させない方法等あるのでしょうか?

  • pictureBox1.ImageLocation = ("1.jpg

    pictureBox1.ImageLocation = ("1.jpg"); pictureBox2.ImageLocation = ("2.jpg"); pictureBox3.ImageLocation = ("3.jpg"); pictureBox4.ImageLocation = ("4.jpg") pictureBox5.ImageLocation = ("5.jpg") ............ と永遠に数を増やしていく場合 わざわざ一文ずつ書く以外に方法はありますか? for (int i = 0; i == 10; i++){ "picturebox" + i + ".ImageLocation" = (i + ".jpg"); } のような感じにできると嬉しいのですが・・・ 返信お願いします

  • charの操作について

    お世話になります、フジと申します。 今回皆様にお聞きしたいことはchar型変数の操作についてなのですが、次のプログラムのようにchar型に代入した整数を16進数用に変換させ、最後に同じchar型の変数に代入したいと考えています。 int a,b,c; char data = 48; //dataに10進数48を代入 c = (int)data; //ここでcは48になる a = c/16;          //16進数用に変換 b = c%16; c = 10*a + b;        //ここでcは30になる このint型変数c(30)をchar型変数dataに代入するにはどうしたらいいでしょうか? char buf[5]; sprintf(buf,"%d",c); にすればchar型の配列に代入することは出来ますが、これだとcの値30がbuf[0]=3,buf[1]=0となってしまい、目的の操作が達成できません。 よい方法をしっている方がいましたら、宜しくお願い致します。

  • pictureBoxそのものの位置を移動させたい

    pictureBoxそのものの位置を移動させたくその方法を教えていただけないでしょうか。 変数iを用意して、iの値が変わるたびにpictureBoxそのものが動いているように見せかけたいと思ってます。 下記のようにやってみたのですが、間違っているようです。 どう修正したいら良いかわかりません。 Dim i as integer PictureBox1.Location.X = i ご教授願えないでしょうか。