• 締切済み

VisualC#.net TabIndexの設定

Microsoft Visual C# .NET 2003で、Windowsアプリケーションを作っています。 フォーム上に、テキストボックスですとかプッシュボタンですとか、コントロールがいくつかあります。 実行時にTabキーを押したときの順番(Tabオーダー)は、プロパティの"TabIndex"で決まっていると思うんですが、 あとでコントロールを追加したときなどTabIndexをずらしたり付け替えたりするにはどうすればよいのでしょうか。 1つ1つ付け替えるしかないのでしょうか。

noname#4404
noname#4404

みんなの回答

回答No.1

[表示]→[タブオーダー]でタブオーダー表示すると 比較的、楽に設定できますが、 それでもひとつずつ付け替えることには、変わりないですね。 tabindex 書き換えるコードを、ちょろっと書いちゃえば よいのでは。

noname#4404
質問者

お礼

>[表示]→[タブオーダー]でタブオーダー表示すると >比較的、楽に設定できますが、 私はそれすら知りませんでした。 クリックすると、数字が変わるんですね。 (元に戻すには、再び [表示]→[タブオーダー] か、ESCキー)

関連するQ&A

  • TabIndexの見分け方について

    今回の開発では既存のソースで1つのフォームに恐ろしいほどのコントロールが存在します。 その為、TabIndexが順番通りになっているか確認したいのですが、1つ1つのコントロールを見ていたら時間がもったいないと思いますのでなにかいい方法があれば教えてください。 ループでオブジェクト名とインデックスのログをはくようにすれば?と言われたのですが、よくわかっていません。どうかアドバイスお願いします。 もう1点質問なのですが、TabIndexが最後のコントロールから最初のコントロールにタブ移動するのに1回どこかに移動してしまって、2回タブを押下しないと最初のコントロールに戻ってこないです。 なにか原因があるのでしょうか? 以上です。わかりにくい説明ですがご回答お願い致します。

  • VBAのフォーム カーソル移動

    VBAのフォームでテキストボックス(1)~テキストボックス(5) まで作ったとします。 カーソルの移動はtabindexの値を順番につければいいのですが、例えばENTERキーとTABキーを両方押したときは カーソルが一つ飛ぶ制御をしたいのですがどうすればいいでしょうか? つまり カーソルがテキストボックス(1)にいる状態でENTERキーとTABキーを同時に押せばカーソルがテキストボックス(3)に移動するようにしたいのですが、お願いします

  • Excelのコントロールツールボックスでデータの入力フォームを作成しま

    Excelのコントロールツールボックスでデータの入力フォームを作成しました。内、何項目かはテキストボックスになっているのですが、これを特定の順番でTabキーかEnterキーで移動させたいのですができません。方法をご存知の方がいらっしゃれば教えてください。 VBAエディタからのフォーム作成ではプロパティでできていたのでExcel全般の仕様だと思っていたのですが・・・。

  • タブ移動で最後のTabIndexまで行くと頭から繰り返さないようにしたい

    環境は、VB.NETです。 タブ移動で、最後のTabIndexまでカーソルが行くと、その次は、また頭から(最初のTabIndexから)繰り返しますが、それを止めたいです。 つまり、最後のTabIndexまでカーソルが行くと、いくらTabキーを押しても、そのコントロールにカーソルをとどめておきたいのです。 しかし、逆タブ(Shift+Tab)を押すと、TabIndexをさかのぼって、最初のTabIndexのコントロールまでバックさせたいです。 で、頭のコントロールにカーソルをたどり着くと、またそこでとどまるといった動きを実現したいと思っています。 何か、良い方法がございましたら、ご教授下さいませ。 ちなみに、以下のコードで、Enterキーを使ってタブ移動させています。 Select Case e.KeyCode  Case Keys.Enter   Dim bThrough As Boolean = False   If TypeOf Me.ActiveControl Is Edit Then    If (CType(Me.ActiveControl, Edit)).Multiline = True Then     bThrough = True    End If   End If   If bThrough = False Then    Dim forward As Boolean = e.Modifiers <> Keys.Shift    'this.ProcessTabKey(forward);    Me.SelectNextControl(Me.ActiveControl, forward, True, True, True)   End If   ・   ・   ・ End Select

  • エクセルVBAのTaBに関してです。

    エクセルVBAのTaBに関してです。 こないだからここで教えてもらいながらちょっとしたアプリ(検索(複数キーワード)、削除、更新、新規)ができました。教えて頂いた方ありがとうございます。 さて、完成の段階で、各オブジェクトにTabの設定を行おうとしました。 (このアプリはコンボ、テキスト、チェックなどで構成されています。)ところが何度Tabの番号の順番を設定しても元に戻り、順番どおりTabが機能しません。 特にチェックボックスは25くらい使用していますが、何度TabIndexの値を変えても1のままです。 オブジェクトが混合で使用されている場合、TabIndexの設定には何か別のプロパティも設定しないとだめなのでしょうか。 少し前に作ったチョー簡単アプリはテキストボックスだけだったので、TabIndexとTabbehavierをFalseにしてできましたが。 テキストボックスからチェックボックスにTabで移動するあたりから上手くいかないように思えます。 ご存知の方、原因の分る方教えt下さい、よろしくお願いします。

  • Microsoft Access2003/2007

    Microsoft Access2003/2007についてです。 Microsoft Access2003/2007のフォームで、Tabキーによるテキストボックス間移動順序の変更は可能でしょうか?可能でしたら方法を教えてください

  • Flash5でリンクボタンにtabIndexを指定したい

    ブラウザでswfファイルを表示させたときに、 Tabキーでムービー内のリンクボタンを順番にフォーカス移動させたいのですが、順番がバラバラ・飛び飛びになってしまいます。 FlashMXからはtabIndexを簡単に指定できるそうなのですが、私はFlash5しか持っておらず、またActionScriptについても恥ずかしながらよく解っておりません。 こうすればうまく設定できる、と教えてくださる方がおられましたら、よろしくお願いいたします。 (Flash5J、WindowsXP)

    • ベストアンサー
    • Flash
  • [HTML]TABインデックスはいいけれど・・・。

    こんばんは。 HTMLでフォームを作った際、タグの中に TAGINDEX='x' と設定してやればその順番どおりに「TABキー」を押したらフォーカスが移動しますよね? 例えば5つのテキストボックスがあってそのうち3つに1,2,3とTABインデックスをつけたとします。その場合、最初の3回はその順番どおりにいき、次に押せば、TABインデックスがなく、先に表示されているテキストボックスにフォーカスが移動してしまいます。 私としては残りの2つはTABでフォーカスしてほしくないのです・・・でもマウスクリックではして欲しいのです。 つまり、フォーカスが来たからと言って違うテキストにフォーカスを移すというJavaScriptではダメです。マウスでクリックした場合も移動してしまうからです。 なんかいい方法ないですか?

  • タブダイアログのフォーカスの移動について

    タブダイアログを使った場合の フォーカスの移動についての質問です。 状態としましては フォームにタブ数3のタブダイアログがあり、 それぞれのタブに3つテキストボックスがあります。 また、タブダイアログとは別にフォーム上に 閉じるボタンが1つあります。 現在1つ目のタブの1つ目のテキストボックスに フォーカスがあり、Tabキーでフォーカスを 移動させていくのですが、 3つ目のテキストボックスでtabキーを押すと フォーカスがどこに行ったのか 行方不明になってしまいます。 なぜか2つ目と3つ目のタブの 3つ目のテキストからは 閉じるボタンへフォーカスが移動するのですが、 1つ目のテキストだけが行方不明になってしまいます。 (shift+tabで戻ってきません) また、3つ目のタブのキャプションからの フォーカス移動も行方不明となってしまうます。 タブインデックスは タブダイアログボックスが0 1つ目のタブの1つ目のテキストが1 1つ目のタブの2つ目のテキストが2 1つ目のタブの3つ目のテキストが3 2つ目のタブの1つ目のテキストが4        ・        ・ 3つ目のタブの3つ目のテキストが9 閉じるボタンが10 となっています。 タブダイアログのフォーカス移動を制御するには どうしたら良いのでしょうか? また、行方不明になってしまうフォーカスの 現在位置を見つけるようなことはできますでしょうか? よろしく回答のほどお願いします。

  • Enterキーでもコントロール間を移動するには?

    通常はデフォルトで、コントロール間を移動するにはTABキーとなっていますが、コントロールのプロパティのTabIndexで、その移動順序を数字で指定するようになっていると思うのですが、このコントロール間を移動をEnterキーでも行えるようにしたいと思っています。 どのような方法(プロパティ設定?コード記述?)が必要となりますか? よろしくお願い致します。