用户控件和Windows窗体在Visual Studio - C#之间有什么区别?用户控件与Windows窗体
回答
非常简单的说:
用户控件进行自定义,可重用的组件的方式。用户控件可以包含其他控件,但必须由表单托管。
Windows窗体是控件的容器,包括用户控件。虽然它包含许多与用户控件类似的属性,但主要目的是托管控件。
窗体窗体是用户控件的容器。
所以是一个用户控件! – 2010-02-19 20:34:25
你如何将一个表单放入用户控件中? – Fredou 2010-02-19 20:35:10
你不能,但你肯定可以把用户控件放在用户控件中。 – 2010-02-19 20:35:43
他们有一个lot的共同点,它们都来自ContainerControl。然而,UserControl被设计为一个子窗口,它需要被放置在一个容器中。表单被设计成没有父母的顶级窗口。
实际上,你可以通过它的顶层属性设置为false变成一个窗体转换为子窗口:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
var child = new Form2();
child.TopLevel = false;
child.Location = new Point(10, 5);
child.Size = new Size(100, 100);
child.BackColor = Color.Yellow;
child.FormBorderStyle = FormBorderStyle.None;
child.Visible = true;
this.Controls.Add(child);
}
}
但是你真的应该避免这么做,国际海事组织。 :) – 2010-02-20 01:57:42
与Control类的成本相比,您将使用不必要的,非常小的花生,尤其是本地窗口。微软不会公开TopLevel属性会很容易。该功能仅仅是模糊的,使用它就好了。 – 2016-08-02 10:08:19
我想我是从代码清晰度和构图的角度来讲的。当然,你可以做到这一点,当然,这是支持的,但我认为我的观点是不把这个好例子当作设计模式:) – 2016-08-02 12:10:29
最大的区别是form.show给出了不同的窗口,而用户控件可是没有功能,就如同雨后春笋般冒出来没有家长。两个控件中的剩余事物都是相同的,如从Scrollablecontrol派生的beind。
- 1. Windows窗体:用户控件和事件
- 2. Windows窗体用户控件问题
- 3. Windows窗体 - 自定义用户控件
- 4. C#Windows窗体用户控件
- 5. Windows窗体控件
- 6. Windows窗体 - 从窗体传递值到用户控件
- 7. WPF用户控件和Windows窗体用户控件在Windows窗体应用程序
- 8. IEWebGL与Windows窗体WebBrowser控件
- 9. 用户控制单击 - Windows窗体
- 10. 打印Windows用户控制窗体
- 11. Windows窗体控件装饰
- 12. Windows窗体拖动控件
- 13. 关于Windows的Load事件窗体用户控件
- 14. 将事件添加到Windows窗体中的用户控件
- 15. 带窗口的Windows窗体控件
- 16. 使用Windows窗体设计器添加用户控件
- 17. Windows窗体应用程序中的用户控件
- 18. WPF应用程序中的Windows窗体用户控件
- 19. 在Windows窗体控件上使用RectVisible
- 20. Windows窗体:使用像容器控件一样的用户控件
- 21. 错误托管在WPF Windows窗体用户控件时
- 22. 将用户控件添加到Windows窗体c时出错#
- 23. 通行证值用户控件的Windows窗体
- 24. Windows窗体中的用户控件刷新
- 25. 在asp.net网页中托管Windows窗体用户控件
- 26. 在Windows窗体用户控件中嵌入XNA游戏
- 27. Windows窗体中WPF用户控件的双向DataBinding
- 28. 在Windows窗体中承载WPF用户控件
- 29. 在Windows窗体中添加用户控件(WPF)到面板c#
- 30. Windows窗体Web浏览器用户控件在WPF中更新
用户控件是否可以托管(包含)其他用户控件? – 2012-04-30 13:54:59
@RobertNiestroj是的,他们可以。 – LxL 2014-01-02 17:43:23