Visual Studios 2005 - 在设计器/属性窗口中清除自定义属性

Posted

技术标签:

【中文标题】Visual Studios 2005 - 在设计器/属性窗口中清除自定义属性【英文标题】:Visual Studios 2005 - Clear custom properties in designer/property window 【发布时间】:2009-01-13 11:12:13 【问题描述】:

早上好,

我创建了一个带有图像属性的自定义控件。该图像属性是对私有图像变量的获取/设置。

谁能告诉我如何启用该 get/set 以清除设计器的属性?

即如果我将图像添加到标准 PictureBox,我可以点击 Del 从 PictureBox 中清除图像。如何在我自己的自定义控件上复制此行为?

【问题讨论】:

“万维网”没有早晨,也没有午后、傍晚或夜晚。 【参考方案1】:

在最简单的层面上,DefaultValueAttribute 应该可以完成这项工作:

private Bitmap bmp;
[DefaultValue(null)]
public Bitmap Bar 
    get  return bmp; 
    set  bmp = value; 

对于更复杂的场景,你可能想尝试添加一个Reset 方法;例如:

using System;
using System.Drawing;
using System.Windows.Forms;
class Foo 
    private Bitmap bmp;
    public Bitmap Bar 
        get  return bmp; 
        set  bmp = value; 
    
    private void ResetBar()  bmp = null; 
    private bool ShouldSerializeBar()  return bmp != null; 

static class Program 
    [STAThread]
    static void Main() 
        Application.EnableVisualStyles();
        Form form = new Form();
        PropertyGrid grid = new PropertyGrid();
        grid.Dock = DockStyle.Fill;
        grid.SelectedObject = new Foo();
        form.Controls.Add(grid);
        Application.Run(form);
    

【讨论】:

以上是关于Visual Studios 2005 - 在设计器/属性窗口中清除自定义属性的主要内容,如果未能解决你的问题,请参考以下文章

让 cURL 与 Visual Studios 2017 一起工作

Visual Studios 忽略文件

在 Visual Studios Code 2015 中自动构建 TypeScript 项目

GLEW 无法在 Visual Studios 2010 中工作

Visual Studios 2015 NuGet Ghostscript 安装错误

Visual Studios - 在不同项目之间共享文件夹