• 締切済み

タブインデックスをより簡単に変更するには?

VS2005でプログラムを作成しています。 タブインデックスの変更方法と言えば、 1.デザインでコントロールのプロパティの「TabIndex」を一つ一つ変えていく。 2.タブオーダーで最初から順にクリックしていく。 の二つの方法があると思います。 今回、作成し終わったプログラムに修正が入り、項目を追加することになりました。 タブインデックスで言えば、かなり若い位置に追加されます。 追加すれば、その項目以降のタブインデックスは再設定する必要があります。 項目数が多いので、1や2の方法だと設定が大変だと思ってしまうのです。 上記以外の方法で簡単に変更できる方法はないものでしょうか? 追記 VB6は楽だったなぁ。間に入れてもそれ以降の項目のタブインデックスは自動で変わってくれたし・・・。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.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 といった具合です

maekawa26
質問者

お礼

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

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

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

maekawa26
質問者

お礼

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

関連するQ&A