1

通常のwinFormでホストされているプロパティグリッドがあります。プロパティグリッド内にノードがあります。ノード内にドロップダウンアイテムのリストがあります。ユーザーが特定の値を選択すると、継承されたメソッドから呼び出される既存のダイアログボックスをロードできるようにしたいと思います。親IWin32Windowをメソッドに渡す必要があります。プロパティグリッドノードプロパティから親ウィンドウのインスタンス名を取得する方法はありますか?

IDTSVa​​riableServiceインターフェースの一部であるPromptandCreateVariableメソッドを使用しています。

私がこれまでに持っているコードは次のとおりです。

private IServiceProvider _sp = null;                            

public IServiceProvider ServiceProvider
{
    get { return _sp; }
    set { _sp = value; }


    [Category("Local Path"),
    Description("Specifies local Path")]
    public Variable LocalPath
    {
        get
        {
           //do something
           IDtsVariableService _dtsVariableService = 
               _sp.GetService(typeof(IDtsVariableService)) as IDtsVariableService;

           Variable newVariable =
               _dtsVariableService.PromptAndCreateVariable(
                   this, null, "LocalPath", "User", typeof(string));
        }
        set
        {
            //do something
        }
    }
 }
4

2 に答える 2

1

これは、クラス内にIWin32Windowのインスタンスを作成し、それをPromptAndCreateVariableメソッドに渡すことで解決しました。

于 2012-07-11T20:29:51.693 に答える
0

コントロールがある場合は、Control.FindForm()を呼び出しますが、Form.ActiveFormからアクティブなフォームを取得することもできます。

于 2012-07-10T13:45:01.397 に答える