复合控制
Image http://www.freeimagehosting.net/uploads/a51136603b.png
你好
我希望得到一些帮助。我想创建一个复合控件,如上面的截图所示。如屏幕截图所示,父控件是标签1;它包含子控件Label2,Label3和Label4,以及包含预定义图像的PictureBox。
我想将上述内容转换为C#中的复合控件,具有以下规范:
父标签Label1应生成Click事件。子项控件Label2,Label3和Label4将在MouseMove事件上分配工具提示,而最后一个子控件PictureBox应该在MouseMove事件和Click事件上都有工具提示。
同样,必须将Parent Label1控件中Label2,Label3,Label4和PictureBox的位置设置为属性,以及它们的文本和大小。
如何将所有这些合并到一个名为AilmentLabel的复合控件中?任何建议或信息都非常感谢。非常感谢你。
答案 0 :(得分:3)
MSDN提供了如何执行此操作的非常详尽的演练。您应该阅读演练:"Authoring a Composite Control with C#"
答案 1 :(得分:1)
听起来你想要创建一个'UserControl'。它就像任何其他控件一样,但您可以向表面添加控件。然后,您将公开UserControl源中的属性,这些属性会将更改传播到适当的控件:
public string Label1Text {
get { return this.Label1.Text; }
set { this.Label1.Text = value; }
}
...etc...
您甚至可以以这种方式公开Click事件,并允许用户订阅它们。然后,您可以将此新控件拖放到其他窗口表面上。