からコンボボックスに項目を追加しました。this、this、およびthisを見ましたが、私の質問にはあまり答えていません。ComboboxはSystem.Windows.Forms.Formのメンバーではなく、
私は、今日のバージョンへの最終的なアップグレードの途中でVB.NET(2008)へのVB6プログラムのアップグレードであるプロジェクトを持っています。私は、さまざまな形でさまざまなことをするモジュールを持っています。アクティブなフォームの名前は、グローバル変数(Current_Active_Form
)に格納されます。フォームからフォームに同じ名前の多くのフォームに同じコントロールがあります(たとえば、comboX
)。私が今関心を持っているのは、forループを使って項目のリストをコンボボックス(comboX
)にロードする関数です。これを他の多くのコンボボックスやデータグリッドビューで行う他の多くの機能があります。
例:
Public Function fillComboX(ByRef fncString As Object) As String
'Current_Active_Form is a global variable
Dim startPoint as Integer 'substring starting point
Dim items as Integer 'number of items in item string
Dim strItem as String 'string for individual item
dim strItems as String 'string for all items
...'code that fills strItems based on fncString
'(don't ask me why it's an object)
...'items is filled at the same time
startPoint = 1
With Current_Active_Form
.comboX.Items.Add("")
'^^ line gives error comboX is not a member of System.Windows.Forms.Form
For i = 1 to items
strItem = strItems.Substring(startPoint, 50)
.comboX.Items.Add(strItem)
'^^so does this line
startPoint = startPoint + 50
Next i
End With
End Function
Iそれがここにある方法に似てこれを行う方法はありますか?私は必要な変更を加えることができますが、これはそのまま十分なアップグレードです。ありがとう!
に戻って変更することができます私のテストのためにサブストリングの長さを減少さformXは、実際のクラス名ですFormX'として、フォームの。フォームクラス – Plutonix
のメソッドとしては優れているかもしれません。もう一つの方法は、CBOを渡すことです。しかし、それが 'FormX.comboX'のためだけに使用されている場合は、それがフォームのためのメソッドをいくつかのモジュールの方法ではなく、独自のコントロールを管理する方法にしてください。 – Plutonix
@Plutonix正式な、フォームは' Public_Active_Form As System.Windows.Forms .Form'。これは、 'fillComboX'関数を呼び出すいくつかの形式の1つです。私は先に進み、このコードをコピーして貼り付けてもらうことができますが、可能であれば、それを集中的に保管したいと思います。 – pixelmeow