转战C++

做了一个“关于”窗口的控件,把“公司图标”、“软件名称”、“版权”等信息定义成属性。本以为很简单的一个东东,却碰到了问题。

公司图标属性实际上是给控件上的一个PictureBox设置图像,定义如下:

public Image 公司图标
  {
   get {return pictureBox1.Image;}
   set {pictureBox1.Image = value;}
  }

测试的时候发现在属性窗口中设了图像以后不能清空。就是希望像PictureBox控件的Image属性那样,可以设为空。

于是开始想为什么,想不通。在网上搜,发现这个动作叫做“重置”,在MSDN里搜,发现原来右键旁边那个按钮,会有“重置”和“说明”两项。“重置”就是清空的效果(当时的理解),“说明”就是下面的注释。看了一下我的“公司图标”的“重置”是灰的,郁闷。然后继续搜“重置”,无意中发现“DefaultValue”,在MSDN里搜,终于发现了DefaultValue是用来设置属性的默认值,“重置”就是将属性的值设为自定义的默认值。哈哈,试了一下,搞定。

[DefaultValue(null)]            //设置该属性的默认值为空
  public Image 公司图标
  {
   get {return pictureBox1.Image;}
   set {pictureBox1.Image = value;}
  }
posted on 2006-04-06 10:30  喜欢晒太阳的草  阅读(363)  评论(0编辑  收藏  举报