タイトル : Re: コンボボックスの内容をコピーしたい 投稿日 : 2006/01/11(Wed) 22:27 投稿者 : なおこ(・∀・)
お世話になります。 配列の長さを指定してやればうまくいくとおもいます。 Me.ComboBox1.Items.Clear() Me.ComboBox1.Items.Add("aaa") Me.ComboBox1.Items.Add("bbb") Me.ComboBox1.Items.Add("ccc") Me.ComboBox1.Items.Add("ddd") Dim collection As ComboBox.ObjectCollection = Me.ComboBox1.Items Dim obj(collection.Count - 1) As Object collection.CopyTo(obj, 0) Me.ComboBox2.Items.AddRange(obj) でも、ADO.NET(ODP.NET)で、 DataTable や DataSet を取得してバインドするほうが ループする必要もないし、簡単だと思います。 手元に Oracle がないので検証してませんが、こんなかんじでしょうか。 Imports Oracle.DataAccess.Client Dim con As OracleConnection = New OracleConnection(接続文字列) Dim da As OlacleDataAdapter = New OlacleDataAdapter Dim cmd As OlacleCommand = New OlacleCommand cmd.Connection = con cmd.CommandText = "SELECT TABLE_NAME FROM USER_TABLES" da.SelectCommand = cmd con.Open() Dim dt As DataTable = New DataTable da.Fill(dt) cboTableA.DataSource = dt cboTableA.DisplayMember = "TABLE_NAME" cboTableB.DataSource = dt.Copy() '参照だけなら、Copy する必要も無いと思います。 cboTableB.DisplayMember = cboTableA.DisplayMember cboTableC.DataSource = dt.Copy() cboTableC.DisplayMember = cboTableA.DisplayMember |