質問

誰でもプログラムで.NET FrameworkのPropertyGridの上で選択したPropertyTabを設定する方法を知っていますか? SelectedTabプロパティは、ドキュメントは、あなたがPropertyTabs自身のインスタンスを作成するべきではありません示しているため、理解され、設定可能ではありません。しかし、私は、コードからタブを変更するためにPropertyGridのインスタンスに設定するために、対応する呼び出すメソッドやプロパティを見つけることができないよう、例えばSelectTab(タイプtabType)/ INT SelectedTabIndex {設定します。 }。任意のアイデア?

役に立ちましたか?

解決

のポスターダニエルはほとんどそれを持っていました。ここでは、PropertyGridの独自のサブクラスにこれを適用した場合、実際に、どのような作品です。

    public int SelectedTabIndex 
    {
        set
        {
            Type pgType = typeof(PropertyGrid);
            BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;

            ToolStripButton[] buttons = (ToolStripButton[]) pgType.GetField("viewTabButtons", flags).GetValue(this);
            pgType.GetMethod("SelectViewTabButton", flags).Invoke(this, new object[] { buttons[value], true });
        }
    }

ダニエルのように、これは悪いフォームと完全にサポートされていないですが、それは限り、あなたは、クロスドメインのアクセス許可を心配する必要はありませんように動作しない、と言います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top