考虑一个包含自定义UserControl和Button的表单。
在Visual Studio设计器中,您可以单击属性右侧的按钮(就像更改其他常见控件属性(如字体或图像)时一样),并使用此属性的编辑器。
在运行时,如果您将PropertyGrid添加到表单并将其指向此UserControl,则还可以单击该复杂属性右侧的按钮以在运行时获取相同的UITypeEditor对话框。
如何通过例如按钮单击在运行时让此编辑器窗口弹出,而无需在表单上拥有PropertyGrid?
尽管我已经从此描述符获得了PropertyDescriptor和UITypeEditor,但我不知道在调用UITypeEditor.EditValue时要调用哪些ITypeDescriptorContext和IServiceProvider的实例来显示编辑器。
这与为属性构建自定义UITypeEditor有关:使用丰富的设计时功能构建Windows窗体控件和组件。在这种情况下,我已经配置好了所有内容,它们都运作得非常好,所以我只想在运行时调用编辑器窗口。
在Visual Studio设计器中,您可以单击属性右侧的按钮(就像更改其他常见控件属性(如字体或图像)时一样),并使用此属性的编辑器。
在运行时,如果您将PropertyGrid添加到表单并将其指向此UserControl,则还可以单击该复杂属性右侧的按钮以在运行时获取相同的UITypeEditor对话框。
如何通过例如按钮单击在运行时让此编辑器窗口弹出,而无需在表单上拥有PropertyGrid?
尽管我已经从此描述符获得了PropertyDescriptor和UITypeEditor,但我不知道在调用UITypeEditor.EditValue时要调用哪些ITypeDescriptorContext和IServiceProvider的实例来显示编辑器。
这与为属性构建自定义UITypeEditor有关:使用丰富的设计时功能构建Windows窗体控件和组件。在这种情况下,我已经配置好了所有内容,它们都运作得非常好,所以我只想在运行时调用编辑器窗口。