首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何强制PropertyGrid显示特定属性的自定义对话框?

在开发过程中,有时需要强制PropertyGrid显示特定属性的自定义对话框。以下是一些建议和方法:

  1. 使用自定义属性描述器:自定义属性描述器可以让您自定义属性的编辑器。您可以创建一个自定义属性描述器,在其中实现自定义对话框。
  2. 使用UITypeEditor类:UITypeEditor类是一个抽象类,可以用于创建自定义的属性编辑器。通过重写EditValue方法,您可以在其中实现自定义对话框。
  3. 使用Attribute类:Attribute类是一个基类,可以用于创建自定义属性。通过重写Attribute.GetCustomAttributes方法,您可以在其中实现自定义对话框。
  4. 使用TypeConverter类:TypeConverter类可以用于将属性值转换为其他类型。通过重写TypeConverter.ConvertTo方法,您可以在其中实现自定义对话框。
  5. 使用设计器:设计器可以让您在设计时编辑属性。通过重写设计器的EditValue方法,您可以在其中实现自定义对话框。
  6. 使用PropertyGrid的SelectedObject属性:PropertyGrid的SelectedObject属性可以让您设置要编辑的对象。您可以使用此属性来设置要编辑的对象,并在其中实现自定义对话框。
  7. 使用PropertyGrid的SelectedObjects属性:PropertyGrid的SelectedObjects属性可以让您设置要编辑的对象列表。您可以使用此属性来设置要编辑的对象列表,并在其中实现自定义对话框。
  8. 使用PropertyGrid的PropertySort属性:PropertyGrid的PropertySort属性可以让您设置属性的排序方式。您可以使用此属性来设置属性的排序方式,并在其中实现自定义对话框。
  9. 使用PropertyGrid的PropertyTabs属性:PropertyGrid的PropertyTabs属性可以让您设置属性的选项卡。您可以使用此属性来设置属性的选项卡,并在其中实现自定义对话框。
  10. 使用PropertyGrid的ToolbarVisible属性:PropertyGrid的ToolbarVisible属性可以让您设置工具栏是否可见。您可以使用此属性来设置工具栏是否可见,并在其中实现自定义对话框。

总之,要强制PropertyGrid显示特定属性的自定义对话框,您可以使用自定义属性描述器、UITypeEditor类、Attribute类、TypeConverter类、设计器、PropertyGrid的SelectedObject属性、PropertyGrid的SelectedObjects属性、PropertyGrid的PropertySort属性、PropertyGrid的PropertyTabs属性和PropertyGrid的ToolbarVisible属性等方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

运行时自定义PropertyGrid显示属性项目

运行时自定义PropertyGrid显示属性项目 简述 在PropertyGrid所显示的属性内容包括属性分类(Category)及组件属性, 在一般情况下直接使用PropertyGrid来显示一个对象的所有属性是非常方便的...像要实现下面所显示的这种效果在实际操作时会很麻烦。 左图是TextBox原有的所有属性,右图是经过处理后的属性 ? ?...解决方法 在.Net中提供了一个自定义类型说明的接口(System.ComponentModel.ICustomTypeDescriptor),PropertyGrid可以直接自动处理用此接口生成的对象...PropertyGrid中所显示的属性名称都还是原有名称,若想同时改变在PropertyGrid中显示出来的名称则需要重写PropertyDescriptor中的部分方法,在上面这段代码中的CustomPropertyDescriptor...,便可以将PropertyGrid中显示的内容完全自定义。

1.5K20

如何使特定的数据高亮显示?

如上图所示,我们需要把薪水超过20000的行,通过填充颜色突出显示出来。如何实现呢?还是要用到excel里的“条件格式”哦。...所以,在这里要提醒小伙伴们,如果想实现整行的突出显示,“突出显示单元格规则”是不适用的。“突出显示单元格规则”顾名思义,就是对符合规则的“单元格”进行设置,而不是对“数据行”进行设置。...其它excel内置的条件规则,也一样有这样的限制。 那么,要实现整行的条件规则设置,应该如何操作?既然excel内置的条件规则已经不够用了,下面就自己动手DIY新规则吧。...2.如何使特定数据行高亮显示? 首先,选定要进行规则设置的数据范围:选定第一行数据行后,同时按住Ctrl+Shift+向下方向键,可快速选定所有数据行。...3.总结: Excel里的条件格式的设置,除了内置的规则,我们还可以自定义规则,使得符合需求的数据行突出显示。 当然,关键是对excel里的绝对引用/相对引用熟练掌握,然后再借助公式来实现。

5.6K00
  • 强大的PropertyGrid

    把要编辑的对象看成类的话, 所有要编辑的属性就是成员 嗯嗯, 最近看了几眼Ogitor, 它对于PropertyGrid的使用就很不错 所有要编辑的对象(灯光, 模型, 粒子等等)都有一个共同的基类,...每当选中一个可编辑对象时, 右边的属性框里就显示出当前对象的属性......(公司那个编辑器要多土就有多土-_-) 尽管Ribbon界面看起来很酷, 我还是对MFC提不起兴趣来... .net里的PropertyGrid更方便, 一点一点来: 属性自动绑定: ref class...对于枚举类型, PropertyGrid会自动显示成下拉框. 把性别改成枚举看看: enum struct SexType { Male, Female }; ?...另外, 还可以弹出自定义的编辑界面, 比如随时间变化的曲线啦(经常用来做效果...)

    1.1K50

    PropertyGrid中的枚举显示为中文

    本文转载:http://www.cnblogs.com/yank/archive/2011/09/17/2179598.html ropertyGrid中的枚举显示为中文 在系统开发中,经常会使用PropertyGrid...来修改或者展示某个对象的属性,如果类中定义了枚举,在展现的时候默认会展示枚举的项或者枚举值,但是这并不是我们想要的。...用户使用的时候并不清楚该项代表的意思。之前介绍过枚举显示中文的一篇文章,大家可以看下,枚举显示中文。 想要的效果: ? 在PropertyGrid中枚举显示中,又比较复杂一些。...PropertyGrid显示复杂属性需要TypeConverter,也就是一个转换 器,可以对其进行设置,显示我们想要的格式、内容。...现有技术PropertyGrid枚举显示中文,有一些利用了绑定自定义控件,有一些绑定自定义的 IList对象。

    1.1K20

    Ogitor代码分析

    Undo/Redo(命令模式) 这机制实现的前提是, 所有CBaseEditor对象都可以用一系列的”属性”来进行初始化/设置. 所以每一个Command都是针对属性的修改....对于Create/Destory来说, 可以看成对所有属性的修改外加对象的创建/删除. 属性的变量类型并没有进行抽象, 而是转换成了字符串, 需要时再转换回来....如果是.net的话, 就方便许多, 直接可以获得PropertyInfo[], 而且能跟PropertyGrid控件进行属性的自动绑定....操作时的选中轴是所有编辑对象统一使用一套, 自定义的表示, 如下图中的spot light, 是通过派生CVisualHelper来进行定制绘制的....PropertyGrid的Item绑定的数据, 也是这个ID, 而不是实际的对象. 但是, 这样也带来另一个问题: 每扩充一个属性就会去改动这个类型定义的头文件, 那DLL中定义的特殊属性怎么办?

    58020

    Power BI: 视觉对象的图例如何按自定义序列显示

    例如下图,对于图例上的文化程度这一列,显示顺序为本科、初中、大专、高中、硕士。 显然,这样的排序方式与我们希望的不一致,我们需要的是硕士、本科、大专、高中、初中。...设置按列排序的步骤如下: (1)在表格视图中,通过输入数据,新建需要排序的对照表(学历对照表)。 (2)选中学历这一列,然后点击列工具的按列排序,选择学历ID。...(3)在模型视图中,将事实表与新建的维度表(学历对照表)建立关系。 (4)回到报表视图,把原先x轴中事实表的文化程度更换为维度表中的学历,然后选择以升序排列,就可以得到我们想要的结果了。...参考资料: [1] Power BI中如何按自定义序列进行排序_power bi怎么自定义排序-CSDN博客(https://blog.csdn.net/gxchai/article/details/114009638

    97410

    关于自定义控件设计时如何把属性写入aspx中的研究(上)

    如何通过继承GridView来修改在设计时绑定数据源时自动生成的ASP.Net代码?...就是实体类的属性名,是E文的,我现在想在GridView的CreateColumns方法中进行拦截这个生成过程,硬是把E文改为对应的中文。...结果,在设计时和运行时都可以看到是中文的,但是aspx中就不是中文的。 我就想问问,怎么样,才能让它在aspx中体现中文,GridView自身是怎么样把自动生成的列写入到aspx中的。...但是,我有纳闷了,A从来不调用CreateColumns方法,它哪里来的列信息? 最后只有一种可能,那就是:那些属性,是被复制过去的,或者在GridViewDesigner中创建的。...我的研究,就到这里了,下次有空再把剩下的发上来吧。

    2.7K80

    关于自定义控件设计时如何把属性写入aspx中的研究(下)

    虽然这一篇已经是“下”了,但是我并没有研究清楚“自定义控件设计时如何把属性写入到aspx中”这个问题。 不过,我选择了另外一条路,做了点手脚,让控件把属性写入到aspx中去了。...其实,即使有人肯定的告诉我,在上篇中提到的ControlSerializer类的SerializeControl方法就是用于把控件属性写入到aspx中去的,我也实在没办法利用它,它的位置太“深”了。...我是通过重写GridView的Columns属性来实现的。...重载该属性,并输出日志,果然,有很少的几次调用。不过,已经够了。 我的做法就是,在这个属性的get方法里面,强制改变各列的属性,再返回。...,之前的几个判断,是为了防止列属性被频繁改变。

    2.2K50

    基于属性的编辑器框架

    还有"摆"的这个操作, 其实本质上了也是对象的位置变换这个属性的变化....由此可以得出: 编辑器的一切操作都是属性编辑 实体不用说了, 相信每个引擎都有Model/Light/Sound之类的对象类. 那么怎么去定义一个属性呢?...简单的来说, 一个属性是一个的配对, 对象就是这些属性的一个集合体. 以点光源为例, 它一般有这么几个属性: 名称. Light0 类型....Undo/Redo只不过是把属性进行还原而已 界面显示 属性可以与PropertyGrid良好的结合. 对于MFC的PropertyGrid正好可以用FourCC的uint值做为id....扩展一下很容易把属性显示做成自适应的, 而不依赖于具体代码实现. 考虑与.net的property反射机制相结合(待验证) 再考查一下WPF下的绑定机制与属性相结合会产生什么效果~

    95820

    C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦

    一般来说,组合是面向对象编程最重要的方面之一,学习如何在表示层中使用它可以带来很大的好处。为了了解构图在这个特定示例中的作用,让我们看两个屏幕截图。...第一个显示视图中包含CustomerWorkspace的应用程序,编辑特定客户的地址。第二个屏幕是相同的,但其视图/视图模型对是三维旋转的,因此您可以看到UI是如何组成的。...CustomerViewModel能够显示本地模式对话框(它们只是特定自定义记录的模式对话框,而不是其他任何对话框)。...我还创建了两个简单的方法来显示对话框和消息框,这些对话框和消息框通过IDialogManager界面公开。...以下是自定义策略如何使用它: 检查每个IWorkspace以查看它是否是IConductor。 如果为true,则获取实现应用程序特定接口IHaveShutdownTask的所有已执行项。

    2.6K20

    【Flutter】评级对话框组件

    扑朔迷离的一切都是小部件! 向用户显示一些知识是一个了不起的想法,这是我们使用对话框的最基本的想法。在Flutter这个惊人的UI工具包中,我们有几种不同的方法来构建对话框。...在在本博客中,我们将探讨「Flutter中」 的“「评级对话框”」。我们将看到如何使用flutter应用程序中的「rating_dialog」包来实现美观的评级对话框演示程序并进行自定义。...评级对话框的一些属性: **message:**此属性用于对话框的消息/描述文本。 **ratingColor:**此属性用于评级栏(星形图标和辉光)颜色。...**initialRating:**此属性用于评级栏的初始评级。默认等级为1。 **force:**此属性用于禁用取消按钮并强制用户留下评分。...**onSubmitted:**此属性用于返回带有用户的等级和注释值的RatingDialogResponse。 **onCancelled:**此属性用于在用户取消/关闭对话框时调用。

    4.1K50
    领券