• 締切済み

Listの<Label>と<PictureBox>

C# リスト型作成 List<Label> labelset; リストの中に10個のLabelを作る for(int lblcount=0 ; lblcount<10; lblcount++) { labelset.Add(new Label()); } ここからが質問です。 for (int i =0; i<labelset.Length;i++) コレだとエラーがでてしまいます。 0からlabelsetの終わりまでするにはどうすればいいですか? *for (int i =0; i<10;i++) これはしたくないです;;

みんなの回答

回答No.4

エラーって、コンパイルエラーでしょう。C#のListの長さを取得するプロパティはCountです。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

foreach使うって選択肢はありませんか?

回答No.2

Vb2010の無料版にしたら? パックマンも作れたし、 海物語も作れましたよ。過去系。 C系言語は目が疲れますよ。

回答No.1

こんばんは。 >for (int i =0; i<labelset.Length;i++) for (int i =0; i<labelset.Count;i++) じゃね?

関連するQ&A

  • 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[]の番号を取るにはどうすればできますか?

  • ListのItemListenerについて

    50音のリストから選択したタイトルの画像を表示するようなプログラムを作ろうと思っているのですが、ItemListenerの2種類以上の使い方?が分かりません。 左側のChoiceからListの内容は書き換えることが出来たのですが、真ん中のListから右のListを書き換え、更には右のListから下部へ画像を表示させたいのです。 この場合どのように記入すればいいのか教えてください。お願いします。 以下拙いですが自分の書いた部分です import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Test extends Applet implements ItemListener{ Panel p[]=new Panel[1]; Choice c1; String s[]={"あ","い","う","え","お","か","き","く","け","こ", "さ","し","す","せ","そ","た","ち","つ","て","と", "な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ", "ま","み","む","め","も","や","ゆ","よ","","", "ら","り","る","れ","ろ","わ","","","","",}; List lst1,lst2; int i; public void init() { p[0]=new Panel(new GridLayout(1,3)); c1=(Choice)p[0].add(new Choice()); for (i=0;i<50;i=i+5) c1.add(s[i]+"行"); c1.addItemListener(this); lst1=(List)p[0].add(new List(5)); lst1.add(s[0]); lst1.add(s[1]); lst1.add(s[2]); lst1.add(s[3]); lst1.add(s[4]); lst1.addItemListener(this); lst2=(List)p[0].add(new List(5)); lst2.addItemListener(this); add(p[0]); } public void itemStateChanged(ItemEvent e){ Choice c1=(Choice)e.getSource(); String str=(String)c1.getSelectedItem(); if(str.equals("あ行")){ lst1.removeAll(); for(i=0;i<5;i++){ lst1.add(s[i]); } lst2.removeAll(); } else if(str.equals("か行")){ lst1.removeAll(); for(i=5;i<10;i++){ lst1.add(s[i]); } lst2.removeAll(); } 以下わ行まで書いてあります } public void destroy() { } }

    • ベストアンサー
    • Java
  • C# List<>が表示されない

    C# List<>が表示されない Visual Studio にて作成 lblCalendar = new List<Label>(); for (int iAllCount = 0; iAllCount < 42; iAllCount++) { lblCalendar.Add(new Label()); } // ptbCalendar = new List<PictureBox>(); for (int iAllCount = 0; iAllCount < 42; iAllCount++) { ptbCalendar.Add(new PictureBox()); } // ptbCalendar[ptCalendar].BackColor = Color.FromArgb(100, 255, 255, 255); それぞれ42個生成しました。 それをカレンダーメソッドを作って画面に表示させました。 ピクチャーはColor.FromArgb(100, 255, 255, 255)で透過させました。 最初の画面(現在だと2月の画面が最初)は正常にカレンダーが表示されピクチャーは隠れています。 ですが private void button1_Click(object sender, EventArgs e) { month--; if (month == 0) { year = year - 1 month = 12; } CaledarControl(year, month);//カレンダー用のメソッド ptbControl(); //ピクチャー用のメソッド this.Refresh(); } これで次の月のページに飛ぶとカレンダーが全部消えてしまい、隠れていたピクチャーがすべてでてしまいます。 どうすればこのバグがなくなりますか?

  • ArrayList で配列を扱う場合の記述方法について

    ArrayList で配列を扱う場合の記述方法について、 探しきれないのでご教授お願いします。 ArrayList list = new ArrayList(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } という箇所をArrayList<Date>listを使って書き直すのはどのようになるでしょうか。 ArrayList<Date>list= new ArrayList<Date>(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } とすると、 型 ArrayList<Date> のメソッド add(Date) は引数 (String) に適用できません。 というエラーになってしまいました。

    • ベストアンサー
    • Java
  • C#のListの要素がHashtableの並べ替え

    Listの要素がHashtableなのですが、Hashtableの特定のキーでListを並べ替える事ができるでしょうか? 例えば次の様な場合 int[] pid = new int[] { 2, 1, 3 }; string [] pname = new string[] { "田中", "鈴木", "本田" }; string[] pref = new string[] { "埼玉", "群馬", "千葉" }; int[] presult = new int[] { 65, 38, 52 }; List<object> usertList = new List<object>(); for (int i = 0; i <= 2; ++i) { Hashtable t_obj = new Hashtable(); t_obj["pid"] = pid[i]; t_obj["pname"] = name[i]; t_obj["pref"] = pref[i]; t_obj["presult"] = presult[i]; usertList.Add(t_obj); } usertListを pidに従って並べ替える presultに従って並べ替える presultとpidに従って並べ替える という事を行いたいのですが、どうすればよいか分かりません。 申し訳ありませんが、教えていただけないでしょうか?

  • ラベルをピクチャボックスの上に表示させたい

    PictureBox[,] map = new PictureBox[27, 27]; private void Form1_Load(object sender, EventArgs e) { for (int i = 1; i <= 25; i++) { for (int j = 1; j <= 25; j++) { map[i, j] = new PictureBox(); map[i, j].Size = new Size(tate, yoko);//用意する map[i, j].Location = new Point(tate * i + 5 * i, yoko * j + j * 5);//ずらす map[i, j].BackColor = Color.Black; this.Controls.Add(map[i, j]);//設置 bom_map[i, j] = 0; } } } ピクチャボックスの場合↑のように記述すると25×25のマップができあがりました。 それぞれのピクチャボックスの上に数字を表示させたいのですがうまくできません ちなみに、この様にソースを書いてみました private System.Windows.Forms.Label[,] label; private void Form1_Load(object sender, EventArgs e) { this.label = new System.Windows.Forms.Label[27, 27]; for (int i = 1; i <= 25; i++) { for (int j = 1; j <= 25; j++) { this.label[i, j] = new System.Windows.Forms.Label(); this.label[i, j].Size = new Size(tate, yoko); this.label[i, j].Location = new Point(tate * i + 5 * i, yoko * j + j * 5); this.label[i, j].Text = Convert.ToString(i * j); this.label[i, j].BackColor = Color.BlanchedAlmond; this.Controls.Add(this.label[i, j]); } } } ピクチャボックスと同じようにかぶせるのかな?と思い書いてみたんですが 何も表示されなくて困っています。 C#初心者なのでよろしくおねがいします。 }

  • 総称型ArrayList<E>への参照はパラメ-タ

    Java初心者です宜しくお願いします。 0から8までの数字をランダムに並べ替えるサブ関数を作成しました。 Eclipse上で単独のプログラムとして動かした場合には、エラーは出ませんが、他のプログラムの サブ関数として動かそうとすると、 「ArrayListはraw型です。 総称型ArrayList<E>への参照は、パラメ-ター化する必要があります。 Listはraw型です。総称型ArrayList<E>への参照は、パラメ-ター化する必要があります。」と いうエラーが出ます。 どのように修正してやればいいのでしょうか。 ================================================================================ public void ShuffleTest() { List c = new ArrayList() ; for ( int i = 0 ; i < 9 ; ++ i ) { c.add( new Integer( i ) ) ; } Collections.shuffle(c); // [?�?�?�?�] int j = -1 ; for ( int i = 0 ; i < 9 ; ++ i ) { // toString(c.get( i )) ; System.out.print( c.get( i ) + " " ) ; int k = j + 1 ; s_Oder[ k ] = i ; System.out.print( "s_Oder["+ k + "] =" + i ) ; } }

    • ベストアンサー
    • Java
  • LISTとMAPについて

    以下のように記述されたコードで 他クラスからこのクラスのインスタンスを生成して tempMapのkeyとValueを抜き出したいのですが なにか良い方法ありますでしょうか? 宜しくお願いします。 public class TestListMap { protected List list = null; private Map tempMap = null; public TestListMap(){ list = new ArrayList(); for(int i=0; i < 10; i++ ){ tempMap = new HashMap(); tempMap.put("NO", "00" + i); tempMap.put("TYPE", "AAA" + i); if (i % 2 == 0 | i % 3 == 0) { tempMap.put("FLG", "1"); } else { tempMap.put("FLG", "0"); } list.add(tempMap); } } public List getListMap(){ return list; } }

    • ベストアンサー
    • Java
  • C#のlabelの表示について

    C#のlabelの表示について カテ違いですが、C#のカテゴリがないのでここで質問させていただきます。 以下の時刻を表示するプログラムを作成したのですが、        //現在の時刻を取得  DateTime dt = DateTime.Now; int Second_1 = dt.Second % 10; int Second_2 = dt.Second / 10; int Minute_1 = dt.Minute % 10; int Minute_2 = dt.Minute / 10; int Hour_1 = dt.Hour % 10; int Hour_2 = dt.Hour / 10; label1.Text = Second_1.ToString(); label2.Text = Second_2.ToString(); label3.Text = Minute_1.ToString(); label4.Text = Minute_2.ToString(); label5.Text = Hour_1.ToString(); label6.Text = Hour_2.ToString(); if (int.Parse(label1.Text) == 0 && int.Parse(label2.Text) == 0) { int a; for (a = 0; a < 10; a++) { pictureBox4.Top += 1; System.Threading.Thread.Sleep(30); } for (a = 0; a < 50; a++) { pictureBox4.Top += 5; System.Threading.Thread.Sleep(10); } pictureBox4.Top = 12; } label1は「秒」の1の位、 label2は「秒」の10の位、 pictureBox4は「分」の1の位の画像を表示しています。 pictureBoxとlabelを重ねて、画像の上に時刻を表示しています。 秒が0になったとき(分の位が一つ上がるとき)、 分の位の画像を移動させて(forループ2つ)再び元の位置に戻しているのですが(pictureBox4.Top = 12;) そのとき秒が「00」とはならず「59」のままで、このループが終わると「00」を飛ばして「01」となります。 ちなみにこの部分はタイマーで0.2秒ごとに回しています。 原因がわかりませんので、ご教授願います。 また、ループには概算で0.8秒かかりますが、この間、タイマーの呼び出しは実行されているのでしょうか? 加えて、pictureBox4.Topの値を動かしていますが、重ねて配置しているlabelも一緒に動いてくれます。 いろいろなサイト様を参考に、 this.label3.Parent = this.pictureBox4; と親コントロールをFormから変更したのですが、このためでしょうか? 変な表現がありましたらご容赦ください。 よろしくお願いします。

  • Listとfor loopで足し算をしたい

    C++初心者ですが、どうしても分かりたく、質問します。 以下が現在自分が考えるプログラムとエラーメッセージで、listとfor loopで、list a (lsta)とlist b (lstb)それぞれ3要素の1番目同士、2番目同士、3番目同士を足し算したいです。今は2番目の要素までしかしていません。エラーは恐らく、for loopの外でlist a, list bの第2要素を使えないということだと思うのですが、足し算にはそれらがfor loopの外で必要で、どうしたらよいのか分かりません。助けてください。プログラム下にエラーメッセージもコピーしました。 #include <iostream> #include <list> using namespace std; int a, b; int c; int add(int a, int b) { c = a + b; return c; } int main() { list<int> lsta{ 1, 2, 3 }; auto itrA = lsta.begin(); list<int> lstb{ 2, 4, 6 }; auto itrB = lstb.begin(); add(*lsta.begin(), *lstb.begin()); cout << add(*lsta.begin(), *lstb.begin()) << endl; if (lsta.size() > 1) { list<int>::iterator itA = next(lsta.begin(), 1); cout << *itA << endl; } if (lsta.size() > 1) { list<int>::iterator itB = next(lsta.begin(), 1); cout << *itB << endl; } add(*itA, *itB); cout << add(*itA, *itB) << endl; //for (auto itr = lsta.begin(); itr != lsta.end(); ++itr) { // int ai // for (auto itr = lista.begin(); itr != lstb.end(); ++itr) return 0; } error codes. 1>C:\Users\yumik\source\repos\ListAdd2\ListAdd2.cpp(30,7): error C2065: 'itA': undeclared identifier 1>C:\Users\yumik\source\repos\ListAdd2\ListAdd2.cpp(30,13): error C2065: 'itB': undeclared identifier 1>C:\Users\yumik\source\repos\ListAdd2\ListAdd2.cpp(31,3): error C2146: syntax error: missing ';' before identifier 'cout' 1>C:\Users\yumik\source\repos\ListAdd2\ListAdd2.cpp(31,16): error C2065: 'itA': undeclared identifier 1>C:\Users\yumik\source\repos\ListAdd2\ListAdd2.cpp(31,22): error C2065: 'itB': undeclared identifier 1>Done building project "ListAdd2.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

専門家に質問してみよう