首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中实现IWindowsFormsEditorService?也称为在Windows窗体中模拟就地编辑

如何在C#中实现IWindowsFormsEditorService?也称为在Windows窗体中模拟就地编辑
EN

Stack Overflow用户
提问于 2010-08-06 14:09:26
回答 1查看 1K关注 0票数 0

我想实现一个自定义的基于Windows窗体的控件,类似于Visual Studio属性网格。对于这一点,尽管简单得多。理想情况下,我希望复制IWindowsFormsEditorService接口的行为,该接口用于通过调用客户端指定的UITypeEditor实现来触发属性网格中的就地编辑。

作为一个更简单的示例,我只需要在单元格中通过模拟的ComboBox (或下拉列表)实现编辑值。Visual Studio实现它的方式确实涉及到一个真正的ComboBox控件。相反,Visual Studio会在单元格的右侧显示一个小的下拉按钮,当按下该按钮时,会触发一个简单的ListBox控件的显示和操作,该控件的定位方式是模拟正在下拉的ComboBox。

我知道要做到这一点,我需要在编辑发生时实现我自己的模式消息循环。但是,我在理解如何以及在何处放置此消息循环时遇到了一些问题。下拉列表超出了我的自定义控件的范围,我也遇到了一些问题。

我精通COM和C++,但我想为此实现一个纯C#的解决方案。

在自定义的类似网格的控件中实现简单的模拟CombBox就地编辑的好方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2010-08-06 14:14:00

您应该为模态编辑体验创建一个单独的表单(包含一个列表框),然后通过调用ShowDialog()来显示它。

ShowDialog()方法将执行模态消息循环。

因为它是一个单独的窗体,所以父控件的大小不会有任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3421381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档