0

私の C# .Net プログラムでは、項目のリストが左側に表示され、PropertyGrid が右側に表示され、選択された項目に関する情報が表示されます。PropertyGrid のスクロールバーを移動してリストから別の項目を選択すると、スクロールバーは以前の位置に留まります。新しいアイテムが選択されるたびに、スクロールバーを一番上にリセットできるようにしたい。

スクロールバーの .value が格納されている場所は確認できましたが、アクセスできません (System.Windows.Forms.PropertyGridInternal.PropertyGridView.ScrollBar)。これらの値にアクセスして変更する方法はありますか?

これは私が他の質問で見つけた唯一のものでしたが、このソリューションを私の問題にどのように適応させることができるかわかりません: How can I catch scroll events in windows forms PropertyGrid

編集:私がリンクした質問は、最終的に問題をどのように解決したかです。Reflection を使用して内部 scrollBar コントロールと SetScrollOffset メソッドを取得し、それらを使用して左側の項目が変更されたときにスクロールバーの値を 0 に設定しました。

4

1 に答える 1

0

新しい値に設定する前に、PropertyGridのSelectedObjectをnullに設定できます。

于 2012-10-23T01:48:26.363 に答える