ここから本文です

VB2008で、ComboBox1のItems(選択肢)をComboBox2のItemsへ一括でコピーしたいの...

q_m********さん

2010/5/512:33:39

VB2008で、ComboBox1のItems(選択肢)をComboBox2のItemsへ一括でコピーしたいのです。

ComboBox2.Items = ComboBox1.Items で出来そうなものですが、Itemsはreadonlyとエラーが出てしまいます。

どなたか、簡単に丸コピーする方法を教えてください。

方法が掲載されているページを紹介して頂けるだけでも構いません。

宜しくお願い致します。

閲覧数:
383
回答数:
4
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

con********さん

2010/5/513:40:54

いっそforでコピーしちゃえ。
for(int i = 0 ; i < ComboBox1.Items.count ; i ++)
{
ComboBox2.Items.Add(ComboBox1.Items[i]);
}
・・・あ、VBか。

Dim i As Long
For i = 0 To ComboBox1.Items.count

ComboBox2.Items.Add(ComboBox1.Items[i]);

Next

でできるかな・・・?実行環境がない・・・
とにかく、ForでComboBox1.Items.countの数だけループをまわし、ComboBox2.Item.Addメソッドを使い、1のアイテムをコピーする。

・・・もっといいのがあるのかな?

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

ttk********さん

2010/5/712:32:21

Items を使う以上は、ほかの人が書かれているような方法になるでしょう。

DataSource を使ってバインドしてあるなら、DataSource に同じものを設定するだけなので簡単ですよ。

Dim items As Object()

みたいな、アイテムの配列を用意しておいて、

ComboBox1.DataSource = items
ComboBox2.DataSource = items

みたいな感じです。

kou********さん

2010/5/609:13:58

ComboBox2.Items = ComboBox1.Items

<LocalizableAttribute(True)> _
Public ReadOnly Property Items As ObjectCollection

となっている事から無理ですね。

For文で廻すのも直感的で私的には判り易いコードですが
CopyToメソッドが実装されているので利用されたらどうでしょうか?

http://msdn.microsoft.com/ja-jp/library/system.windows.forms.combob...

例えば String型の値をコピーするのであれば

Dim stringArray As String() = New String(Me.ComboBox1.Items.Count - 1) {}
Me.ComboBox1.Items.CopyTo(stringArray, 0)
Me.ComboBox2.Items.AddRange(stringArray)

gya********さん

編集あり2010/5/609:48:54

'VB2008の場合
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer

For i = 0 To ComboBox1.Items.Count - 1

ComboBox2.Items.Add(ComboBox1.Items.Item(i))

Next

End Sub


'VB6.0の場合
Private Sub Command1_Click()

Dim i As Integer

For i = 0 To Combo1.ListCount - 1

Combo2.AddItem (Combo1.List(i))

Next

End Sub

'やはりforでまわすのが一般的かと思われます。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる