将属性映射到用户控件

时间:2013-09-24 18:49:53

标签: c# winforms user-controls

我有一个UserControl,并为其添加了一个属性。但我希望每当我的Properties Window添加到表单时,都会将该属性添加到UserControl

这是我用来添加属性

Image img;
public Image SetImage 
{
    get { return img; }
    set { img = value; }
}

这很好但问题是每当用户想要调用此属性时,用户必须调用用户控件的类,如

MyControl ctrl = new MyControl();
ctrl.Image = Image.FromFile("/*Path to Image*/");

但这将改变已添加到该表单的所有控件的所有属性,但我需要的是将其映射到UserControl,以便每当用户想要调用它时,用户将调用它像

MyControl1.Image = Image.FromFile("/*Path to Image*/");

MyControl2.Image = Image.FromFile("/*Path to Image*/");

请问我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

[Browsable(true)]标记(位于System.ComponentModel内的System.dll命名空间)添加到用户控件类的所需属性中:

public class YourUserControl
{
    ....
    ....
    [Browsable(true)]
    public Image SetImage 
    {
        get { return img; }
        set { img = value; }
    }
}