我有一个属性网格,它托管在普通的winForm上。在属性网格中,我有一个节点。在一个节点中,我有一个下拉项列表。当用户选择特定值时,我希望能够加载从继承方法调用的预先存在的对话框。我需要将Parent IWin32Window传递给方法。有没有办法从我的属性网格节点属性获取父窗口的实例名称?
我正在使用PromptandCreateVariable方法,该方法是IDTSVariableService接口的一部分。
我到目前为止的代码是:
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
}
}
}
答案 0 :(得分:1)
我通过在我的类中创建一个IWin32Window实例并将其传递给PromptAndCreateVariable方法来解决这个问题。
答案 1 :(得分:0)
如果你有一个控件然后调用Control.FindForm(),但你也可以从Form.ActiveForm
获取活动表单