2017-06-26 7 views
0

私は10個の要素を持つベクトルを持っています。これらの要素にはそれぞれ対応するパネルの名前が入っています。私は10 回のコマンドを繰り返したくないので。 1つのステートメントでこれを行うシステムがあります。どのように正常にしますか :宣言段階で変数の名前を変更することはできますか?

Dim Test As New Panel 
Test.size = new point (10.10) 
Test.location = new point (10.10) me.controls.add (test) 

例:

Dim Test(n) As New Panel 
Test(n) .size = new point (10.10) 
Test(n).location = new point (10.10) 
me.controls.add (test (n)) 
+0

あなたが望むものはそれほど明確ではありません。 10個の要素すべてに同じ変数を使用するか、変数の名前を変更しますか? – Fabulous

答えて

0

は、「ベクター」と呼ばれている名前を含む、あなたの配列を仮定し、そして、これはそれを行うだろう、それがすでに10の項目が移入されていること:

For n as Integer = 0 to 9 
    Me.Controls.Add(new Panel() With {.Name = vector(n), .Size = New Point(10, 10), .Location=New Point(10,10)}) 
Next 

次に、あなたはいくつかの方法でそれと対話することができます

'if you know the actual name: 
Dim pnlMyPanel as Panel = DirectCast(Me.Controls("pnlFirstPanel"), Panel) 

'if you know the index in the vector containing the name: 
Dim pnlMyOtherPanel as Panel = DirectCast(Me.Controls(vector(1)), Panel) 

'Interact with it as you would any control: 
pnlMyPanel.Visible = True 
pnlMyPanel.Top = 100 
+0

こんにちは、作成したパネル(メッセージやイベントをクリックするなど)とやりとりしたい場合は、 –

+0

@SalvatoreRaccardi私はあなたがパネルを追加した後にパネルと対話できる方法を示すために私が提供した答えを更新しました。 –

関連する問題