• 締切済み

C#でスケジューラを開発中です。ComboBoxに項目を追加したいのですが...

C#でスケジューラを開発中です。 ComboBoxに最初から項目を入れて選択するのはできるのですが、 プログラムを実行させて項目を増やしたり、削除するにはどうしたらよいですか?? どなたか教えてください。 参考になることやサイトでも良いのでお願いします。

みんなの回答

回答No.2

こんばんわぁ、Blackwinglsです。 > コンボボックスに登録した項目を、別のフォームのコンボボックスに読み込むにはどうしたらよいかわかりますか?? フォーム間でのデータ渡しですか・・・? ここら辺で悩む人多いですねぇ。 色々ありますが一番簡単なのは、staticなグローバル変数を使う方法かな。 static public string[] ListValue; private void button1_Click(object sender, EventArgs e) { ListValue = textBox1.Text.Split(','); if (ListValue.Length == 0) { return; } comboBox1.Items.Clear(); for (int i = 0; i < ListValue.Length; i++) { comboBox1.Items.Add(i.ToString() + ":" + ListValue[i].ToString()); } } として、もう一方のフォームForm2はボタン2で開き private void button2_Click(object sender, EventArgs e) { Form2 ShowForm2 = new Form2(); ShowForm2.Show(); } Form2のロード時に、Form2上のcomboBox2にアイテムをセットします。 private void Form2_Load(object sender, EventArgs e) { string[] items = Form1.ListValue; if (items.Length == 0) { return; } comboBox2.Items.Clear(); for (int i = 0; i < items.Length; i++) { comboBox2.Items.Add(i.ToString() + ":" + items[i].ToString()); } } > あとプログラムを実行させたときに、それらの項目を残しておきたいのですが。 おっしゃるように、CSVでも良いと思います。 私だったらxmlかmdb選択すると思いますけど(^^; http://msdn.microsoft.com/ja-jp/library/fx29c3yd.aspx http://msdn.microsoft.com/ja-jp/library/zx8h06sz.aspx http://msdn.microsoft.com/ja-jp/library/cc437979(VS.71).aspx ではでは~☆ミ

vino149
質問者

お礼

ありがとうございました。

回答No.1

こんばんわぁ、Blackwinglsです。 private void button1_Click(object sender, EventArgs e) { string[] ListValue = textBox1.Text.Split(','); if (ListValue.Length == 0) { return; } comboBox1.Items.Clear(); for (int i = 0; i < ListValue.Length; i++) { comboBox1.Items.Add(i.ToString() + ":" + ListValue[i].ToString()); } } って、ことでしょうか? textBox1にカンマ区切りで入れた文字、例えば「a,b,c」って入れて、button1クリックすると、comboBox1のアイテムが新しく作られます。 ではでは~☆ミ

vino149
質問者

補足

ありがとうございました。 コンボボックスに追加、削除はできました。 追加で聞きたいのですが... コンボボックスに登録した項目を、別のフォームのコンボボックスに読み込むにはどうしたらよいかわかりますか?? 項目を追加や削除し、登録ボタンを押すと、別のフォームのコンボボックスにも同じように表示させたいのですが... あとプログラムを実行させたときに、それらの項目を残しておきたいのですが。 それは、やはりcsvファイルなどで保存し、書き込み読み込みをさせなければできないのでしょうか?? 教えてくれませんか?? お願いします。

関連するQ&A