2016-08-29 9 views
0

[OK]を私は5日間を探してきたループ文のボタン名に整数を使用すると、私が探しています何を見つけることができませんか。今、この上

私は私のメインフォーム上の21個のボタンがあります。名前構造はbtn_Cat1 - btn_cat21 ここまでは私のコードですが、これは一つのボタンだけです。私は各ボタンのテキストを変更するために "do while"や何らかのループを実行する必要があります。

私が本当に問題を抱えているのは、コードのボタンの名前です。 IE:

dim i as integer 

'this is what i would have done in pascal to advance the button name to the next button: 
while i < 21 do 
btn_Cat(i).text = "new button text from Database"; 
i = i+1; 
'advance database record to next record 
+0

これはVB.Netと推定されていますか? –

+0

申し訳ありません。ビジュアルベーシック2015 –

答えて

0

あなたはこれを達成するために、フォームのControlsコレクションを使用することができます - それによって各ボタンを見つけることがKeyです。

次の例では、あなたにこれを達成する方法のアイデアを与える必要があります。

// For button 1 through 21 
For i As Integer = 1 To 21 Step 1 
    Dim TargetButton As Button 

    // Get the button from the controls container 
    TargetButton = Controls("btn_Cat" & i) 
    TargetButton.Text = reader("btn_caption") 
Next 

あなたは、データベースから実際の名前を取得するコードを実装する必要がありますが、これはあなたが始める必要があります。

Controlsコンテナからコントロールを取得するときにTryCastを使用して、ボタンが実際に返されたことを確認することができます。

+0

マーティン、データベースに次のレコードに進む方法を知っていますか?私は本当にあなたのすべての助けを賞賛し、初心者のために私を叩いてはいません。 –

関連する問題