問題タブ [tab-ordering]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WinForms TabOrder ツール: 壊れているか、混乱しているだけですか?
たくさんのパネルとグループボックス内のいくつかのパネルを含むフォームがあります。Vs2005 で TabOrder ツールを使用すると、コンテナーの外側のコントロールには整数 (0) が与えられ、パネル内のコントロールには 10 進数 (72.0) が与えられ、グループボックス内のパネル内のコントロールには 3 つの値 (73.73.0) が与えられます。残念ながら、結果のタブ オーダーは、コントロールをクリックした順序とは何の関係もありません。
このツールはネストされたコンテナーをサポートしていないだけですか? 私は何か間違ったことをしていますか?おそらく、クリックするときに Shift- または Ctrl- を押したままにしますか (これらを試しましたが成功しませんでした)。
すべてのコントロールで 3 部構成のタブ オーダーを手動で入力する必要がありますか? それは残念です。
java - Web ページでの Java アプレットのタブ移動
Web ページに埋め込まれたいくつかのフォーカス可能な要素を持つ Java アプレットがあります。
ページの残りの部分の論理的なタブ順序のアプレット部分の要素を作成することは可能ですか?
Tab明確にするために:アプレットの外側の要素からアプレットの最初の要素に移動し、 Shift+を使用してアプレットの外側の要素に戻りたいと思いTabます。同様にTab、アプレットの最後の要素から Web ページの次の要素に移動し、 Shift+Tabを使用して戻ることができます。
.net - TabStop/TabIndex が TableLayoutPanel 内で不規則に動作する
私はTableLayoutPanel
それに40近くのコントロールを持つかなり複雑なものを持っています. 読み取り専用のものもあれば、非常に特殊な場合 (マウスでアクセスできる場合) を除き、ユーザーの注意を必要としないものもあります。TabStop=false
そこで、これらのコントロールに設定し、残りを上から下、左から右の順に並べたいと思います。
ただし、内部のコントロールについては、プロパティTableLayoutPanel
を変更できません。TabStop
つまり、できますがFalse
、次の再構築時にリセットされます。その結果、すべてのコントロールに TAB キーでアクセスできます。アクセスしたくないコントロールも含まれます。
ここで何が起こっているのですか?
環境: Windows 7 Enterprise; VS2008; .NET 3.5 SP1; すべてのコントロールは に直接配置され、TableLayouPanel
中間コンテナはありません。
詳細情報を追加: Robert Kerr は、再現できないと報告しています。TableLayoutPanel で Telerik Winforms RadControls のみを使用したことを忘れていました。また、テキストボックス、コンボボックス、およびスピン編集は機能しませんが、ボタン/チェックボックスは正常に機能するようです。
xcode - Interface Builderのタブオーダー?
おそらく1時間遅れていますが、Visual Studioの場合と同じように、インターフェイスビューアーダイアログの全体的なタブ順序を設定できる場所が見つかりません。
私は何かが足りないのですか?タブの順序はすべて曲がっています。シミュレートするCommand-Rはそれを示しています。
vb.net - VB.NETのタブ順序の制限?
フランケンシュタインVB6「変換済み」をVB.NETwinformアプリケーションに継承しました。このアプリケーションにはメートルトンのフィールドがあり、ユーザーはタブの順序がオフになっていると当然のことながら不満を漏らしていました(特定の時点以降、フォーム全体にジャンプし始めます)。
タブ順で何かを考えていたので、私は入って[表示]> [タブ順]をオンにしましたが、見栄えが良かったです。
確かに、フォームをもう一度やり直して、タブオーダービューになっているときはすべて問題ありませんが、アプリを実行すると、以前と同じ領域をジャンプし始めますか?!他の誰かがこれに遭遇しましたか、そしてあなたがそうした場合、あなたはどのように解決しましたか?
[編集]:これらの入力フォームはすべてタブコントロール内の別々のタブにあり、おそらく状況をさらに混乱させます。
apache-flex - Flex でタブの順序を変更する方法 (Actionscript、SDK 3.5)
フレックス タブの順序は、使いやすさ (明らか) とアクセシビリティ (スクリーン リーダーの読み取り順序を定義する) の両方にとって重要です。ただし、Flex 3.5 には、より複雑なアプリケーションに影響を与えるサポートがないようです。
私がこれまでに知っていることから:
タブの順序は mx.managers.FocusManager によって計算され、アプリケーション全体で 1 つの「タブ サイクル」を処理します (つまり、各コンテナーではなく、アプリ全体で 1 つです)。例外は、埋め込まれた .swf ファイルとポップアップで、それぞれに独自の FocusManager があります。
FocusManager 内のロジックは非公開としてマークされ、クラスは Application.initialize() でインスタンス化されるため、動作を変更するのは簡単ではありません (SDK の一部を書き直す以外に、ライセンスの問題が発生する可能性があります)。
タブの順序は、各コンポーネントの tabIndex (int) プロパティを探します。このプロパティ セット (>0) を持つすべてのコンポーネントは、その値によって並べ替えられます。それ以外の場合は、ビジュアル階層が使用されます (コンテナーのネストとコンテナー内の子の順序を使用します)。
tabIndex のないすべてのコンポーネントは、それが設定されているコンポーネントの後になるようにソートされます (内部的に、「tabIndex が設定されていません」は「tabIndex = int.MAX_VALUE にマップされます)」
同じ tabIndex を持つ 2 つのコンポーネントは、ビジュアル階層によって並べられます。
これは、視覚的な階層による自動順序付けを使用できることを意味します (主に必要なもの)、または直接 tabIndexes を指定して使用できますが、これを行うと、自動順序付けが完全に台無しになります。これは、カスタム コンポーネントを使用していて、それらの内部でタブの順序を変更したい場合に特に問題です。これを行うと、コンポーネントを使用しているすべての画面のタブの順序が台無しになります。また、使用するコンポーネントの内部動作にアクセスできないことが多いため、最高レベルの mxml ファイルだけにタブの順序を設定することはできません。
例:
accVerticalStuff.mxml
アプリケーション.mxml
期待される結果:タブ オーダーは、最初に左側の 3 つの垂直項目、次に右側の 3 つの垂直項目、つまりコンテナーごとにグループ化されます。TopLevelElement は、タブ オーダーの最初です。(tabIndex が指定されていない場合は、まさにこのように機能しますが、実際に tabIndex を変更して、たとえば One と Three を切り替えたいなどの理由で変更することはできません)
実際の結果:タブの順序は水平です。つまり、2 つの入力フォーム間をジャンプします。TopLevelElement (tabIndex が指定されていない) は、タブ オーダーの最後です。
モジュール化されたプロジェクトではコンテナの入れ子を変更しても機能せず、子の順序を変更すると表示位置に影響します (一方、Canvas コンテナを使用すると AutoLayout が失われます)。
他のコンポーネントとは無関係に、単一のコンポーネントのタブ順序を指定する方法はありますか (おそらく複雑ですが、できれば SDK を書き直す必要はありません)。
他のすべてが失敗した場合、Flex4 へのアップグレードはこの問題の解決に役立ちますか?
c# - (タブコントロール上で)コントロールをタブで移動する効果的な方法は、TabControl.tabsを自動的にページングします
これを編集して、tabControlの「タブ」とタブキーを使用したコントロールの「タブ」を区別しようとしましたが、電源を入れて意味が明確になることを願っています。
タブコントロールを備えたインターフェイスを備えたac#プロジェクトがあります。3つのタブページ(PersonalInformation、ContactDetails、AdditionalNotes)と関連するコントロールが各タブに含まれています。
ほとんどのユーザーは、キーボードのみを使用してインターフェイスをナビゲートする方が簡単だと感じています(キーボードショートカットやナビゲーション用のコントロールのタブ操作など)。さまざまなショートカットの組み合わせ用のキーボードリスナーを含めました。たとえば、PageUpとPageDownを使用すると、ユーザーはさまざまなタブをページングできます。
ただし、これらのユーザーは情報を入力するために同じパターンに従います。PersonalInformationタブのコントロール(必要に応じて入力)をタブで移動し、タブの最後のコントロールに到達したら、「タブを押し続ける」ことを望みます。次のように:最後のコントロールがTabControl.Page1にフォーカスされている場合、ユーザーがTabキーを押すと、TabControl.Page2の最初のコントロールにフォーカスが移動します。最後のコントロールがTabControl.Page2にフォーカスしたとき、ユーザーがTabキーを押すと、フォーカスがTabControl.Page3に移動します。
このようにして、情報はグループ化されて一緒に含まれ、ユーザーはキーボードを必要とせずに、入力とタブ操作を続けるだけでフォームにすべての情報を入力できます。
したがって、本当の問題はこれを効果的に行うことです。最後のコントロールのOnLeaveを単純に処理することはできません。ユーザー(最後のコントロール)が以前のコントロール(またはShift-Tab)を選択すると、イベントも発生します。
もう1つの問題はメンテナンスです。この「次のタブにフォーカスを移動する」機能をメンテナが忘れたり知らなかったりすると、タブの下部に別のコントロールを追加すると、すべてが失敗する可能性があります。おそらく、最後のコントロールをフォームに追加しますか?
wpf - カスタムコントロールを使用したWPFタブオーダー?
タブ オーダーが設定されたすぐに使えるコントロールを含む WPF ページがあります。
境界線/グリッド/テキスト ボックス/2 つの Repeatbuttons (上/下) を含むカスタム コントロール (NumericSpinner) があります。
2 つの問題:
1) カスタム セレクター コントロールのテキスト ボックスにいるとき、そこからタブでページ上の他のコントロールに移動できません。ただし、上下の矢印のいずれかをクリックした後、タブで他のコントロールに移動できます。
2) カスタム コントロールのテキスト ボックスにタブで移動できません。すべてのコントロールをタブで移動した後でのみ、カーソルがテキスト ボックスに表示されます (タブ アウトできません)。
環境:
カスタム コントロールの一部:
カスタム コントロールは、xaml とコード ビハインド ファイルで構成されます。
すべてのコントロールを含む親 xaml ページは動的に読み込まれ、コード ビハインドは含まれません。
カスタム コントロールのコンストラクターで、テストとして次のように設定しました。
4回目にタブを押すと、実際にカーソルがテキストフィールドに移動しますが、タブから出ることができません。
これを念頭に置いて、最初のステップは、コントロールの分離コードで設定されるタブ オーダー番号を渡すことができるコントロール パラメーターを作成することです。
CustomTabIndex プロパティを作成しました。
また、xaml で CustomTabIndex="3" を設定しようとすると、次のエラーが表示されます。
プロパティ「CustomTabIndex」はタイプ「NumericSpinner」で見つかりませんでした。
いくつかの支援をいただければ幸いです。
.net - WinFormをホストするWPF、タブナビゲーションの問題
WindowsFormsHost
とタブナビゲーション内でWinFormsフォームをホストするときに問題が発生しました。解決するために、私はこの簡単な例を作成しました:
- 作成されたWPF
Window
(アプリの開始点) Form
2つのWinFormを作成TextBox
しました- WPFウィンドウ:追加
WindowsFormsHost
されました - WPFウィンドウ:
OnLoaded
ハンドラーを追加 - WPFウィンドウ:
Textbox
下に配置を追加WindowsFormsHost
私が得たOnLoaded
ハンドラーで:
アプリケーションを実行すると、次のようになります。
- 何も焦点を当てていません(ok)
TextBox
の最初をクリックすると、WindowsFormsHost
フォーカスが移動します(ok)- タブを押すと、フォーカスが(ok)
TextBox
の2番目に移動しますWindowsFormsHost
- もう一度Tabキーを押すと、フォーカスが1番目に戻ります
TextBox
(WindowsFormsHost
OKではありませんWindowsFormsHost
。WPFウィンドウの下部にあるテキストボックスにフォーカスを置いたままにしておく必要があります) - wpf(の前後に配置
WindowsFormsHost
)のテキストボックスをクリックすると、フォーカスが取得されます(ok) - タブを押すと、フォーカスがの最初のテキストボックスに
WindowsFormsHost
移動します。終了後に最初に移動するはずです。だからこれも大丈夫です - wpfテキストボックスをもう一度クリックしてShift+Tabキーを押すと、フォーカスが
WindowsFormsHost
(ok)の2番目のテキストボックスに移動します。 - Tabキーを押すと、フォーカスが
WindowsFormsHost
(WFHで始まる)の最初のテキストボックスに移動します(OKではありません)
1つのタイプのコントロールしかない場合のようにフォーカスを動作させるにはどうすればよいですか?この場合、WFH-1st-Textbox、WFH-2nd-Textbox、WPF-Textboxのタブ順序を意味します。
c# - WPF のタブ オーダーが正しく動作しない
タブオーダーを正しくするために戦ってきたWPFのビューがあります。3 つのテキスト ボックス (Text1、Text2、および Text3 と呼びます) と 2 つのカスタム コントロールがあり、それぞれに他のいくつかのテキスト ボックスとさまざまなコントロールがあります (Custom1 と Custom2 と呼びましょう)。
レイアウトは、タブ フローが Text1、Text2、Custom1、Custom2、Text3 になるようになっています。この順序に一致するように各コントロールの TabIndex プロパティを設定し、すべてが IsTabStop に設定されていることを確認しました。
問題は、実際のタブ フローが Text1、Text2、Text3、Custom1、Custom2 の順に進むことです。その理由がわかりません。カスタム コントロールに移動すると、期待どおりに、それらのすべてのコントロールを適切にステップオーバーします。最初のカスタム コントロールに移動する前に、3 番目のテキスト ボックスに移動する理由がわかりません。
すべての xaml 要素がタブ オーダーで配置されていることを確認するなど、考えられるすべてを試しましたが、何も役に立たないようです。
カスタムコントロールに焦点を当てる前に、基本的なコントロールをすべて調べているのではないかと思いますが、アイデアがありません。どんな助けでも素晴らしいでしょう。
編集: これが私のxamlです: