2010-01-13 49 views
4

复合控制复合WinForm控件在C#

Image http://www.freeimagehosting.net/uploads/a51136603b.png

你好,

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

我想谈谈上述成复合控制,在C#中,具有以下规格:

家长标签,Label1的,应该产生一个Click事件。子控件Label2,Label3和Label4将在MouseMove事件上分配工具提示,而最后一个子控件PictureBox在MouseMove事件和Click事件上应具有两个工具提示。

同样,父标签1控件中的Label2,Label3,Label4和PictureBox的位置必须设置为属性,它们的文本和大小也是如此。

如何将所有这些合并到一个名为AilmentLabel的复合控件中?任何意见或信息,不胜感激。非常感谢。

回答

1

这听起来像你想创建一个'用户控件'。它就像任何其他控件一样,但可以将控件添加到曲面。然后,你会暴露在用户控件源属性,将更改传播直通到适当的控制:

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

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