标签: propertygrid

在运行时创建/修改枚举

我正在创建一个程序,用户可以选择创建自己的自定义属性,最终将显示在一个PropertyGrid.现在我不想用自定义编辑器的一塌糊涂,所以我只允许基本类型的属性(string,int,double,DateTime,bool等)的PropertyGrid已经具有内置的编辑器.

但是,我还想让用户选择创建多个选项属性,他们可以定义一个可能的值列表,这些值又会显示为下拉列表PropertyGrid.

当我Enum在我的代码中硬编码时,属性网格会自动将其属性显示enum为下拉列表.但是我可以在运行时创建和/或修改枚举,以便用户可以添加另一个属性选项,然后返回PropertyGrid并在下拉列表中查看它们的新选项吗?

更新

考虑到帕特里克的评论,我认为Enum在这种情况下,s不是正确的方法.那么我怎样才能使用字符串列表来填充项目中的下拉PropertyGrid菜单?这需要自定义编辑器吗?

c# propertygrid enums

8
推荐指数
1
解决办法
1万
查看次数

如何枚举PropertyGrid项?

我有一个PropertyGrid分配给它的一些对象.

var prpGrid = new PropertyGrid();
prp.SelectedObject = myObject;
Run Code Online (Sandbox Code Playgroud)

我想得到所有网格项,我可以得到selectedGridItem属性:

var selectedProperty = prpGrid.SelectedGridItem;
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

.net c# propertygrid winforms

8
推荐指数
1
解决办法
5743
查看次数

在设计器网格中单独分组我的自定义控件属性

我正在使用用户控件.我已经创建了自己的控件属性.现在我想在设计器网格中分别对自己的属性进行分组.

怎么实现呢?

问候

c# propertygrid user-controls

8
推荐指数
1
解决办法
4507
查看次数

如何在运行时控制属性网格中可见的内容?

我有一个属性网格显示一个列表,例如一个类 Person

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Person
{
    public bool ShowHidden { get; set; }
    public string Name { get; set; }
    //[Browsable(false)]
    public string Hidden { get; set; }

    public override string ToString()
    {
        return string.Format("Person({0})", Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是如何控制的Browsable()在运行时,使得属性时ShowHidden = falseHidden省略线(突出显示下面黄色).

截图

谢谢.

c# propertygrid winforms

8
推荐指数
1
解决办法
8510
查看次数

寻找代码来呈现显示对象视图的表单

我的任务是显示一个Web表单来表示.NET类中的属性.在WinForms中,有一个名为PropertyGrid的预制控件很像我需要的.我只是想找到一些东西,在适当的控件旁边显示一个简单的属性名称布局,比如字符串的文本框或枚举属性的下拉列表.

这样的事情对于ASP.NET来说是否已经存在,或者我会在这里自己动手?

asp.net propertygrid controls

7
推荐指数
1
解决办法
259
查看次数

C#/ winforms:如何最好地绑定propertygrid和System.Data.DataRow

我有几个字段的System.Data.DataRows,其中大多数只是普通类型,如int,single,string.

使用propertygrid使它们可编辑的最佳方法是什么?无论数据行具有哪种字段,它都应该自动工作,但它不应显示所有字段.我想提供一个应隐藏的属性列表.

由于DataTable是自动生成的,我无法添加自定义属性,如[可浏览(假)]

非常感谢!

c# propertygrid binding datarow winforms

7
推荐指数
1
解决办法
1万
查看次数

PropertyGrid:隐藏基类属性,怎么样?

PropertyGrid ...对于用户我想只留下几个.但是现在我看到了所有这些,当看到像Dock或Cursor这样的东西时,用户会感到困惑......希望现在很清楚......

c# propertygrid

7
推荐指数
2
解决办法
1万
查看次数

如何更改PropertyGrid控件的边框颜色(或删除边框)?

有一个标准的WinForms 2.0 PropertyGrid控件我正在寻找一种方法来改变控件的边框颜色或完全删除边框.

在此输入图像描述

我知道这个LineColor属性不幸只会改变单元格之间的内部边界.

另外,我使用ILSpy来查看PropertyGrid控件的源代码,但仍然没有发现对我有意义.

我的问题是:

如何删除PropertyGrid控件的外边框或更改外边框的颜色?

更新2012-05-04 - 解决方案(又名"hack"):

根据Jamie的回答,我组装了一个工作解决方案(您可以从这里下载):

在此输入图像描述

我们的想法是将属性网格放在面板中,让面板剪切控件.

通过这种方法,我确实将剪切面板放置到另一个具有Padding"1"(或任何您想要的边框)的面板中,并将此面板BackColor作为边框颜色(在我的示例中为绿色).

将属性网格的Anchor设置为"Left,Right,Top,Bottom",将Dock剪切面板设置为"Full".

在此输入图像描述

这适合我的要求.我认为这是一种黑客行为,因为它消耗了两个面板的资源,我希望我可以节省.

.net c# propertygrid winforms

7
推荐指数
1
解决办法
3713
查看次数

C#.Net 4.5 PropertyGrid:如何隐藏属性

问题很简单(我希望这有一个简单的解决方案!):我想隐藏(Browsable(false))属性"Element"(在我的PropertyGrid对象中),当它为零时.

    public class Question
    {
       ...

      public int Element
      {
        get; set;
      }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# propertygrid properties

7
推荐指数
2
解决办法
2万
查看次数

Windows 10 Creators Update更改了PropertyGrid控件的样式

我刚刚将一些系统升级到Windows 10 Creators Update,我注意到windows窗体PropertyGrid控件将其标题和条形边距的默认视觉样式更改为深灰色,如下所示:

<code> PropertyGrid </ code>新风格

由于意外的视觉变化大多发生,用户不满意.有没有办法恢复到旧的默认值或可能覆盖默认样式?

windows propertygrid winforms

7
推荐指数
1
解决办法
834
查看次数