相关疑难解决方法(0)

如何在运行时修改PropertyGrid(添加/删除属性和动态类型/枚举)

如何在运行时以各种方式修改propertygrid?我希望能够添加和删除属性并添加"动态类型",我的意思是使用TypeConverter导致在propertygrid中生成运行时生成的下拉列表.

我实际上已经能够做这两件事(添加/删除属性和添加动态类型)但不能同时单独使用.

为了实现在运行时添加和删除属性的支持,我使用了这个代码项目文章稍微修改了代码以支持不同的类型(不仅仅是字符串).

private System.Windows.Forms.PropertyGrid propertyGrid1;
private CustomClass myProperties = new CustomClass();

public Form1()
{
    InitializeComponent();

    myProperties.Add(new CustomProperty("Name", "Sven", typeof(string), false, true));
    myProperties.Add(new CustomProperty("MyBool", "True", typeof(bool), false, true));
    myProperties.Add(new CustomProperty("CaptionPosition", "Top", typeof(CaptionPosition), false, true));
    myProperties.Add(new CustomProperty("Custom", "", typeof(StatesList), false, true)); //<-- doesn't work
}

/// <summary>
/// CustomClass (Which is binding to property grid)
/// </summary>
public class CustomClass: CollectionBase,ICustomTypeDescriptor
{
    /// <summary>
    /// Add CustomProperty to Collectionbase List
    /// </summary>
    /// <param name="Value"></param> …
Run Code Online (Sandbox Code Playgroud)

.net c# propertygrid winforms

24
推荐指数
3
解决办法
3万
查看次数

强制Visual Studio调试工具显示有用的信息

众所周知,当你想在Visual Studio Debugger中查看复杂对象的内部变量时,你会得到类似这样的类名,你必须展开它才能看到公共属性:

在此输入图像描述

我试图使用这个问题的答案中的代码,而不是为每个类重写toString方法.

但它似乎没有任何区别.我还能尝试什么?

c# properties tostring typeconverter visual-studio-2013

4
推荐指数
1
解决办法
731
查看次数