C# программирование GUI для новичков:С чего начать? [закрытый]

21
задан Rakete1111 17 September 2016 в 14:15
поделиться

9 ответов

В моем личном опыте разработки Windows Forms настолько же проста, как и быстрое развертывание приложения с графическим интерфейсом на Windows. WPF - это, конечно, еще один вариант, но его использование, скорее всего, потребует от вас некоторого времени на ознакомление с XAML. Windows Forms выглядят и чувствуются как множество доступных вариантов GUI для Java, просто они намного лучше, чем большинство из них, на мой взгляд.

Если Вы хотите как можно быстрее разработать GUI в .NET, Windows Forms - это то, что Вам нужно.

10
ответ дан 29 November 2019 в 20:32
поделиться

Я не согласен со всеми защитниками WinForms. Это не проще. Может быть проще для того, кто имеет традиционный опыт GUI-программирования, но этот постер не имеет такого.

WPF имеет лучшую историю дизайна, а база данных намного, намного лучше, чем WinForms. Вы можете запустить WPF, по крайней мере, так же быстро, как и WinForms, а затем пойти гораздо дальше, не вдаваясь в ограничения, которые есть у WinForms. Сопоставьте это с базой данных времени проектирования в VS 2010, и я бы сказал, что любой, кто начинает разработку графического интерфейса, должен полностью обходить Winforms.

3
ответ дан 29 November 2019 в 20:32
поделиться

Для настольных приложений в основном существует два варианта; WinForms и Windows Presentation Foundation (WPF).

WinForms более традиционна и поэтому легче усваивается. Поэтому WinForms может быть более простым стартом, но если вы планируете действительно использовать полученные знания в области разработки графического интерфейса для .NET, то я бы сказал, что вам лучше погрузиться в WPF с самого начала. Это гораздо более богатый фреймворк, в который Microsoft вкладывает свои усилия для настольных приложений. Она также похожа на Silverlight, что означает, что вы можете легко попасть и в Silverlight, если знаете WPF.

Удачи!

17
ответ дан 29 November 2019 в 20:32
поделиться

C# WinForms будет самым быстрым с точки зрения быстрого получения практичного графического интерфейса. Хотя, если подумать о создании сложного GUI, с анимацией, 3D и т.д., WPF будет лучше.

Вы можете использовать CodePlex, чтобы найти несколько хороших рабочих проектов, с точки зрения лучшей практики, как для WinForms, так и для WPF.

Вы также можете посмотреть здесь для получения некоторых хороших книг по WPF и WinForms.

1
ответ дан 29 November 2019 в 20:32
поделиться

Я бы рекомендовал сначала выучить Winforms, а затем перенести WPF. Winforms легче выучить и быстро получить что-то работающее. Однако будущее за WPF, так что я бы не оставил это в тени. Я разместил несколько хороших книг и ссылок для работы над GUI.

Книги

  • Дизайн повседневных вещей Очень хорошая книга о дизайне интерфейсов. Она не специфична для программного обеспечения, но должна быть прочитана для дизайнеров GUI.
  • Кодирование ужасов. Он рекомендует много книг по разработке в своем списке книг , но эти книги специально посвящены интерфейсам:

Don't Make Me Think
About Face 3.0
The Inmates Are Running the Asylum
GUI Bloopers

Web Links

2
ответ дан 29 November 2019 в 20:32
поделиться

C# точно. Используйте Winforms для линейки бизнес-приложений/классического графического интерфейса.

прочитайте петцольд "программирование окон с помощью c#"

или просто погрузитесь в визуальную студию. Создать GUI с VS очень просто - вам понравится

Вы найдете переход с java на c# довольно простым (не gui bit tho)

.
1
ответ дан 29 November 2019 в 20:32
поделиться

Да. C # - предпочтительный язык для разработки .NET. Поскольку вы программировали на Java, вы обнаружите, что язык выглядит очень знакомым (хотя он выглядит немного чище и имеет некоторые очень приятные функции, такие как делегаты, и вы даже можете использовать указатели, если действительно хотите, хотя вы не будете необходимо в большинстве случаев).

Это SWF (System Windows Forms) или MWF (Managed Windows Forms - облегченная версия SWF, написанная в управляемом коде с использованием System.Drawing - она ​​полностью освобождает вас от WinAPI, лежащего в основе классического SWF).

Также существует GTK-Sharp, привязка GTK + для C-Sharp, но, поскольку вы разрабатываете для Windows, пользователям будет странно устанавливать стороннюю среду графического интерфейса для вашего приложения.

Я бы не рекомендовал использовать WPF. Он делает прямые вызовы базовому графическому оборудованию, что означает, что он довольно быстрый, но совсем не переносимый. Он будет работать только в системах x86 (не SPARC и т. Д.) С аппаратными модулями рендеринга, совместимыми с DirectX (видеокартами), и не будет работать в системе с сильной аппаратной абстракцией (например, в большинстве Unix, таких как BSD, Linux или Solaris).

Novell также заявила, что они никогда не будут внедрять WPF в ближайшем будущем из-за его сильной зависимости от оборудования (Novell хочет, чтобы Mono можно было переносить на многие процессорные платформы). Не используйте WPF. Программное обеспечение больше не является одноразовым продуктом, и когда дело доходит до операционных систем, мы живем в эпоху спекуляции. Платформа, которую вы используете сегодня, не обязательно является платформой, которую вы собираетесь запустить завтра. WPF - это патентованная технология, разработанная Microsoft и Intel. Если вы воспользуетесь им, вы окажетесь в очень хорошей ситуации, когда поставщик Win32-on-x86 заблокирован. А это означает, что вы определенно рано или поздно обнаружите, что полностью переписываете свое приложение. Просто напишите портативное программное обеспечение с самого начала, даже если вам не нужна эта портативность сегодня. По опыту говорю, завтра вам понадобится переносимость. Определенно!

8
ответ дан 29 November 2019 в 20:32
поделиться

Я думаю, что я пришел к выводу, что C# - это лучший и самый быстрый путь (пожалуйста, поправьте меня, если я ошибаюсь). Что вы рекомендуете?

Лично я бы придерживался Java. Мы (имея в виду OffByZero, компания, которую я основал) выпустили зашифрованный текстовый редактор под названием OBZVault, который написан на Java.

Изначально мы написали его в Linux, а затем портировали на Mac OS X и Windows. Мы обнаружили, что порт для Windows обеспечил совершенно приемлемый внешний вид - почти (но не совсем) как у родного приложения для Windows.

Мы использовали InnoSetup для создания родного инсталлятора для Windows, и обнаружили, что это тоже неплохо.

Итог: если вы не хотите изучать новый язык и платформу, или у вас есть особая потребность в функциональности, предоставляемой другой платформой, такой как .NET, придерживайтесь Java и для разработки Windows. Вам нужно будет выучить Java GUI фреймворк, но тогда вам все равно придется выучить WPF или WinForms, если вы все равно перейдете на .NET.

Может быть быстрее для опытного .NET разработчика построить Windows-приложение в WinForms или WPF, но если вы уже хорошо знакомы с Java, я скажу, что придерживайтесь тех инструментов (язык, библиотеки, IDE), которые вы знаете.

-3
ответ дан 29 November 2019 в 20:32
поделиться

Для разработки графического интерфейса можно использовать Windows Forms или Windows Presentation Foundation; хотя Windows Forms могут показаться Вам более знакомыми. Если Вы выполните поиск в Google по Windows Forms tutorial , Вы получите множество вариантов для начала работы.

Если Вам необходимо использовать .NET 2.0, Вы будете ограничены Win Формами. WPF требует .NET 3.5.

Я бы посоветовал скачать бесплатную Visual Studio Express Edition от Microsoft для использования в целях разработки. Она включает в себя отличный инструмент для проектирования графического интерфейса с возможностью перетаскивания.

3
ответ дан 29 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: