Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何允许用户在PropertyGrid中设置确定属性值的表达式_C#_.net_Winforms_Propertygrid - Fatal编程技术网

C# 如何允许用户在PropertyGrid中设置确定属性值的表达式

C# 如何允许用户在PropertyGrid中设置确定属性值的表达式,c#,.net,winforms,propertygrid,C#,.net,Winforms,Propertygrid,我注意到报表生成器之类的程序允许用户设置属性值或确定属性值的表达式。我想向我的应用程序添加相同的功能。所以,有什么简单的方法可以做到这一点,或者我必须重新定义所有类型转换器,以便它们允许在其原始功能之外设置表达式 覆盖Property Grid控件以向每个属性添加此类功能可能更容易。 我只是好奇,如何计算这些表达式(CodeDOM)?也许覆盖属性网格控件更容易将这种功能添加到每个属性中。 我只是好奇,如何计算这些表达式(CodeDOM)?如果要创建自己的“下拉属性”,需要实现自定义UITypeE

我注意到报表生成器之类的程序允许用户设置属性值或确定属性值的表达式。我想向我的应用程序添加相同的功能。所以,有什么简单的方法可以做到这一点,或者我必须重新定义所有类型转换器,以便它们允许在其原始功能之外设置表达式

覆盖Property Grid控件以向每个属性添加此类功能可能更容易。 我只是好奇,如何计算这些表达式(CodeDOM)?

也许覆盖属性网格控件更容易将这种功能添加到每个属性中。
我只是好奇,如何计算这些表达式(CodeDOM)?

如果要创建自己的“下拉属性”,需要实现自定义UITypeEditor

这方面有几个样本:


如果要创建自己的“下拉属性”,则需要实现自定义UITypeEditor

这方面有几个样本:


这是通过
类型转换器公开的

要允许字符串输入,对象必须可以从类型
string
转换

要允许下拉,请通过
GetStandardValues
公开这些值


您还需要覆盖支持的
xxx
方法。

这是通过
TypeConverter
公开的

要允许字符串输入,对象必须可以从类型
string
转换

要允许下拉,请通过
GetStandardValues
公开这些值


您还需要重写支持的
xxx
方法。

实际上我有自定义表达式语言的解析器。实际上我有自定义表达式语言的解析器。