Пользовательский контроль и форма Windows - PullRequest
52 голосов
/ 19 февраля 2010

В чем разница между пользовательским элементом управления и формой окна в Visual Studio - C #?

Ответы [ 4 ]

50 голосов
/ 19 февраля 2010

Проще говоря:

Пользовательские элементы управления - это способ создания настраиваемого компонента многократного использования. Пользовательский элемент управления может содержать другие элементы управления, но должен размещаться в форме.

Windows формы являются контейнером для элементов управления, в том числе пользовательских элементов управления. Хотя он содержит много аналогичных атрибутов, что и пользовательский элемент управления, его основная цель заключается в размещении элементов управления.

21 голосов
/ 19 февраля 2010

У них общий лот , оба они получены из ContainerControl.Однако UserControl предназначен для того, чтобы быть дочерним окном, его нужно поместить в контейнер.Форма была разработана, чтобы быть окном верхнего уровня без родителя.

Вы можете на самом деле превратить форму в дочернее окно, установив для свойства TopLevel значение 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);
    }
}
4 голосов
/ 19 февраля 2010

Форма Windows - это контейнер для пользовательских элементов управления.

1 голос
/ 17 декабря 2013

Самым большим отличием является то, что form.show предоставляет другое окно, в то время как usercontrol не имеет такой функции, как всплывающее окно без родителя.Остальные вещи одинаковы в обоих элементах управления, как beind, полученный из Scrollablecontrol.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...