DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コレクションでリストボックスに追加

分類:[.NET]

ArrayList al = new ArrayList();
//コレクションの追加
al.Add("レイヤー1");
al.Add("レイヤー2");
//チェックリストボックスのインスタンス化
checklistbox1 = new CheckedListBox();
//クライアントサイズを調べる
Rectangle Client = this.ClientRectangle;
//チェックリストボックスのサイズを設定する
checklistbox1.Size = new Size(Client.Right, Client.Bottom);
//チェックリストボックスの固定をする
checklistbox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom;
foreach (String a in al)
{
//チェックリストボックスの文字列を設定する
checklistbox1.Items.AddRange(a);
}

コレクションに登録した文字列をチェックリストボックスに登録して
表示したいのですがエラーがでてしまいます
よろしくお願いします。
> コレクションに登録した文字列をチェックリストボックスに登録して
> 表示したいのですがエラーがでてしまいます

どんな?
この2つのエラーがでてしまいます。

エラー 1System.Windows.Forms.ListBox.ObjectCollection.AddRange(System.Windows.Forms.ListBox.ObjectCollection)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。

エラー 2引数 '1': 'string' から 'System.Windows.Forms.ListBox.ObjectCollection' に変換できません。
2006/07/30(Sun) 11:33:35 編集(投稿者)

> この2つのエラーがでてしまいます。
>
> エラー 1System.Windows.Forms.ListBox.ObjectCollection.AddRange(System.Windows.Forms.ListBox.ObjectCollection)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
>
> エラー 2引数 '1': 'string' から 'System.Windows.Forms.ListBox.ObjectCollection' に変換できません。

AddRange() の引数の型がまずいと言ってますね。

foreach (String a in al)
{
checklistbox1.Items.Add(a);
}

とするか、foreach をとっぱらって単に

checklistbox1.Items.AddRange(al);

にすればよろしいかと。
> foreach (String a in al)
> {
> checklistbox1.Items.AddRange(a);
> }
>
> とするか、

checklistbox1.Items.Add(a);

#寝起きに書いたと思われ(^^
> #寝起きに書いたと思われ(^^

編集ミスでした (^^;
修正しておきました。

DOBON.NET | プログラミング道 | プログラミング掲示板