C#中的复合Winform控件

4

组合控件

图片 http://www.freeimagehosting.net/uploads/a51136603b.png

你好,

我希望能得到一些帮助。我想创建一个组合控件,如上图所示。如屏幕截图所示,父控件是Label 1;它包含子控件Label2、Label3和Label4,以及一个包含预定义图像的PictureBox。

我想将以上内容转换为一个名为AilmentLabel的C#组合控件,并具有以下规格:

父标签Label1应该生成Click事件。子控件Label2、Label3和Label4应在MouseMove事件上分配工具提示,而最后一个子控件PictureBox应该在MouseMove事件和Click事件上都有工具提示。

同样,Label2、Label3、Label4和PictureBox在父控件Label1中的位置必须设置为属性,就像它们的文本和大小一样。

我该如何将所有这些内容合并成一个组合控件?任何建议或信息都将不胜感激。非常感谢。

2个回答

3

1

听起来你想创建一个“用户控件”。它就像任何其他控件一样,但你可以将控件添加到表面上。然后你会在用户控件源中公开属性,这些属性会将更改传播到适当的控件:

public string Label1Text {
    get { return this.Label1.Text; }
    set { this.Label1.Text = value; }
}
...etc...

你甚至可以以这种方式公开 Click 事件,并允许用户订阅它们。然后,您可以将此新控件拖放到其他窗口表面上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接