none
PropertyGridのカテゴリ移動 RRS feed

  • 質問

  • propertyGridのカテゴリをTABで移動したいのですが、どうすればよいでしょうか。

    矢印キーでの移動は動くのですが。

    2019年5月13日 0:43

回答

  • 多分標準では存在しないので、PropertyGridを派生させ、そこにキー処理を書くことになると思います。

    TabキーならProcessCmdKeyをオーバーライドしてそこで捕まえることになるでしょうか。

    便利なメソッドなども用意されていないようなので、自分で探して切り替えることになりそうです。手順としては、多分次のような感じ。

    1. Me.SelectedGridItemを元に、
    2. GridItemTypeがCategoryでなければParentを手繰っていって、現在のカテゴリのGridItemを取得する
    3. カテゴリのさらにParent(つまりRoot)のGridItemのGridItemsから、現在のカテゴリのインデックスを探す
    4. そのインデックスの次のインデックスのGridItemが目的のカテゴリのGridItemとなる
    5. さらに、その目的のカテゴリのGridItemの、GridItems[0]がカテゴリ下の最初のアイテムなので、それをMe.SelectedGridItemに設定
    • 回答としてマーク 2019年5月13日 8:21
    2019年5月13日 3:36

すべての返信

  • VisualStudioのデザイナなどでの、プロパティウィンドウなどにおける操作の話でしょうか。

    それとも、ご制作中アプリにPropertyGridを使用していて、そこでの操作の話でしょうか。

    2019年5月13日 2:04
  • 製作中のアプリで、PropertyGridを使用しており、実行時にカテゴリ欄(入力項目など)をTABで移動したいとのことです。
    2019年5月13日 2:52
  • 多分標準では存在しないので、PropertyGridを派生させ、そこにキー処理を書くことになると思います。

    TabキーならProcessCmdKeyをオーバーライドしてそこで捕まえることになるでしょうか。

    便利なメソッドなども用意されていないようなので、自分で探して切り替えることになりそうです。手順としては、多分次のような感じ。

    1. Me.SelectedGridItemを元に、
    2. GridItemTypeがCategoryでなければParentを手繰っていって、現在のカテゴリのGridItemを取得する
    3. カテゴリのさらにParent(つまりRoot)のGridItemのGridItemsから、現在のカテゴリのインデックスを探す
    4. そのインデックスの次のインデックスのGridItemが目的のカテゴリのGridItemとなる
    5. さらに、その目的のカテゴリのGridItemの、GridItems[0]がカテゴリ下の最初のアイテムなので、それをMe.SelectedGridItemに設定
    • 回答としてマーク 2019年5月13日 8:21
    2019年5月13日 3:36
  • ご教授ありがとうございました。

    参考にして作ってみたいと思います。

    2019年5月13日 6:03