dポイントプレゼントキャンペーン実施中!

VS2005でプログラムを作成しています。

タブインデックスの変更方法と言えば、
1.デザインでコントロールのプロパティの「TabIndex」を一つ一つ変えていく。
2.タブオーダーで最初から順にクリックしていく。
の二つの方法があると思います。

今回、作成し終わったプログラムに修正が入り、項目を追加することになりました。
タブインデックスで言えば、かなり若い位置に追加されます。
追加すれば、その項目以降のタブインデックスは再設定する必要があります。

項目数が多いので、1や2の方法だと設定が大変だと思ってしまうのです。
上記以外の方法で簡単に変更できる方法はないものでしょうか?


追記
VB6は楽だったなぁ。間に入れてもそれ以降の項目のタブインデックスは自動で変わってくれたし・・・。

A 回答 (2件)

コントロール名を列挙した配列を準備します



dim arCtrl() as String = _
{"TextBox1","TextBox2","TextBox3","ComboBox1","Command1","","Command2","Command3"}

フォームのNewメソッドをオーバーライドします
フォーム.vbファイルで
public Sub Newと入力してEnter
これでスケルトンを作ってくれますので

InitalizeComponent()
の後ろで

dim nTabIndex as integer = 0
for each ss as String in arCtrl
  Controls(ss).TabIndex = nTabIndex
  nTabIndex += 1
next
といった具合です
    • good
    • 0
この回答へのお礼

作成するときに用意しておく必要があるんですね。
でもこれならタブインデックスをデザインでポチポチ設定していく必要はなくなりすね!!
今後の参考にいたします。ありがとうございました。

お礼日時:2008/10/03 08:35

VB6の頃から、フォーム(window)の表示時に動的にTabIndexを設定するコードを書いていました。

    • good
    • 0
この回答へのお礼

やっぱり、そういう備えが無い状態では、デザインでポチポチ設定する必要があるみたいですね・・・。
ありがとうございました。

お礼日時:2008/10/03 08:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!