10

約 15 個のコンボボックスと 15 個のテキスト ボックス、および他のいくつかのコントロールを含む vb.net ウィンドウ フォームがあります。これらはすべてパネルに配置されていますTextBoxesComboBoxesこの理由は、ユーザーが選択/入力した内容に基づいてコントロールの表示プロパティを調整する必要があるためです。そのため、各ラベルとコントロールを独自のパネルにグループ化することは、これを実現する簡単な方法のように思えました。

プロパティでタブ オーダーを設定しましたが、機能しません。フォームをタブで移動すると、フォームがスキップされ、設定したタブ オーダーに従わなくなります。これは、コントロールがそれぞれ別のパネルに配置されているためですか? TabStopタブストップをオンにしたくないものはすべて false に設定しました。ここで何が起こっているのか少し混乱しています。myComboBoxesTextBoxesがそれぞれ独自のパネル内にあるという事実が、タブ インデックスの動作を妨げているようです。誰でもこれを確認できますか、または何が起こっているのかについて他の考えを持っていますか? TabIndex新しいフォームを作成すると機能します。

4

4 に答える 4

14

信じられないかもしれませんが、パネルの順序は TabIndex に絶対に影響します。マルチパネル フォームでタブの順序を処理する最も簡単な方法は、LarsTech が提案する [表示] > [タブの順序] を使用することです。タブの順序が表示されると、パネルが各パネルに含まれるコントロールの全体的な順序にどのように影響するかを確認できます。次に、フローを進行させたい順序で、実際のパネルを 1 つずつ左クリックします。次に、各パネル内のコントロールが自動的にサブオーダーされ、パネル全体の順序が指定した順序になることに気付くでしょう。これが完了したら、各パネル内の各コントロールをクリックして、特定のパネル内でコントロールの相対的なタブ オーダーを設定できます。

于 2013-09-25T19:37:35.537 に答える
5

Visual Studio デザイナーで [表示] - [タブの順序] を使用して、各コンテナーとコントロールを必要な順序でクリックしてみてください。親コンテナー (パネル) のタブ インデックスは重要です。

于 2013-04-17T15:35:22.433 に答える
2

各コントロールとコントロールのグループ化 (グループ ボックス、パネルなど) のすべてのタブ インデックスを確認する必要があることがわかりました。Classic VB とは異なり、.Net は他のすべてのタブ インデックスを更新しません。フォーム、パネル、またはその他のグループ化タイプで同じタブ インデックスを使用して、必要な数のコントロールを作成できます。

ところで、View - Tab Order メニュー項目を投稿してくださった方々、ありがとうございます。そこにあるとは知りませんでしたが、ネストされたグループ ボックスが複数あるフォームを適切に並べ替えるのに非常に役立ちました。これは、タブ オーダーを確認するための優れたツールでした。これを使用する場合は、ネストの各レベルに注意してください。

于 2015-03-07T18:08:08.180 に答える