タイトル : コンボボックスの内容をコピーしたい 投稿日 : 2006/01/11(Wed) 17:21 投稿者 : ひろ
[OSのVer]:WindowsXp [VBのVer]:VB.NET2003 テーブル名の一覧を取得して (Oracle10g , ADO) Form上のComboBox (cboTableA, cboTableB, cboTableC) に格納しようとしています。 rsWork.MoveFirst() '取得したテーブル名一覧 Do While rsWork.EOF = False cboTableA.Items.Add(rsWork.Fields("TABLE_NAME").Value) cboTableB.Items.Add(rsWork.Fields("TABLE_NAME").Value) cboTableC.Items.Add(rsWork.Fields("TABLE_NAME").Value) rsWork.MoveNext() Loop 上記で実現はできるのですが、自分的になんかすっきりしません。 ループの中では cboTableA にセットして、 最終的に内容を cboTableB, cboTableC にコピーできれば・・・と考えています。 .Items まで入力すると 入力候補の中に CopyTo があったので、調べてみました。 ・・・が、ぴんと来ません。 << Help の抜粋 >> このメソッドを使用して、複数のコレクションの項目を 1 つの配列に結合できます。その後、この配 列を使用し、 ComboBox.ObjectCollection クラスの AddRange メソッドを使用して、別の ComboBox コントロールの内容を代入できます。 この方法を取ってみようと考えたのです。 Dim objWork() As Object cboTableA.Items.CopyTo(objWork, 0) cboTableB.Items.AddRange(objWork) cboTableC.Items.AddRange(objWork) 上記だと、「配列をNullにすることはできません。 dest 」のエラーが表示されます。 全く検討はずれな事をしているのでしょうか? アドバイス頂けると助かります。 |