Нет ли встроенных макетов C # GUI? - PullRequest
11 голосов
/ 30 ноября 2010

Я привык к каркасам графического интерфейса в Java, а также к каркасу графического интерфейса QT, и я привык к различным менеджерам компоновки.Похоже, что в C # не встроены какие-либо менеджеры компоновки, или я что-то упустил?

2 год спустя Редактировать

Я просто хочу указать всем читателям этого вопроса, что вЗадний взгляд, мой вопрос был неуместен.При правильной привязке и закреплении дочерних элементов управления потребность в менеджерах компоновки Java и QT4 практически отсутствует.

Ответы [ 5 ]

8 голосов
/ 30 ноября 2010

WPF имеет менеджеры компоновки, см .:

http://msdn.microsoft.com/en-us/library/ms745058.aspx

Если вы работаете с фоном Java, тогда раздел " Элементы панели и пользовательские макеты"будет представлять особый интерес.

3 голосов
/ 30 ноября 2010

Как WPF, так и Windows Forms предоставляют возможности макетов (WPF в этом гораздо лучше).

Вы также можете добиться умеренно сложных макетов в Windows Forms, используя свойства элементов управления Dock и Anchor.Лично я узнал, чего можно достичь и как это сделать, прочитав книгу Петцольда о WinForms .Если у вас нет доступа к этой книге, прочитайте эту короткую статью .

1 голос
/ 30 ноября 2010

chibacity - это правильно, WPF загружен менеджерами компоновки, все они очень хороши.

Однако если вы идете по маршруту WinForms, вы застряли с TableLayoutPanel, FlowLayoutPanel и SplitContainer.А также обычные ручные элементы управления Panel и GroupBox.

0 голосов
/ 30 ноября 2010

WPF и Silverlight имеют разные «панели», которые работают аналогично менеджерам компоновки на других языках.

0 голосов
/ 30 ноября 2010

Нет, вы ничего не упускаете.

.NET не имеет встроенных менеджеров компоновки для разработки Winforms / Webforms / Console.

Возможно, потому что Visual Studio имеет хороших дизайнеров, избавляя от необходимости.

WPF и Silverlight ( оба , использующие XAML ), хотя они естьне совсем такие же, как у Java.

...