【发布时间】:2014-09-19 16:45:21
【问题描述】:
我使用 DefaultValue 作为属性,这样当我在设计器中创建具有此属性的控件时,它不会在设计器中生成。但是,具有数据类型的属性不是标准的,例如:图像,如何创建默认值。谢谢。
这是一个示例代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
namespace DemoChart
{
public class MyControl : Control
{
private Image m_Img = DemoChart.Properties.Resources.link;
[DefaultValue("DemoChart.Properties.Resources.link")]
public Image Img
{
get { return m_Img; }
set { m_Img = value; }
}
public MyControl()
{
}
}
}
注意:DemoChart.Properties.Resources.link 是我在项目中添加的图片资源。
我创建了一个名为 Form1 的表单,将一个 MyControl 拖到该表单上,它的名称是 myControl1。我打开 Form1.designer.cs 查看生成的代码,我仍然看到 myControl1 的 Img 属性。为什么?我使用 DefaultValue 但它没有影响。请帮我。谢谢。
【问题讨论】:
-
它是否调用错误?你得到一张空白图片吗?
-
您的
Img属性是否返回图像? -
我更新了我的问题。请帮我。谢谢。
-
当您创建
myControl1时,其Img属性未设置为默认值? -
你知道DefaultValue的用途吗?我使用它来避免当我保持默认时在设计器中生成此属性的代码。谢谢。