Получение элементов графического интерфейса MFC Feature Pack в .NET WinForms - PullRequest
3 голосов
/ 11 июня 2010

MFC Feature Pack (и VS 2010) добавляет встроенную поддержку нескольких «современных» элементов графического интерфейса (таких как MDI с документами с вкладками, лента и интерфейс в стиле Visual Studio с стыковочными панелями),Это благо для тех из нас, кто должен поддерживать устаревшие приложения на основе MFC и хочет обновить их внешний вид, и признак того, что Microsoft не полностью отказалась от неуправляемой разработки C ++.Тем не менее, с таким сильным толчком в пользу .NET, WinForms и управляемого кода (и по множеству веских причин), кажется, мало оснований для разработки новых приложений на неуправляемом C ++ / MFC.

Тогда возникает вопросстановится, как получить эти элементы GUI в приложении WinForms.Почти все надстройки и библиотеки, которые я нашел до сих пор, стоят денег и вводят дополнительные зависимости.У меня нет бюджета на покупку сторонних библиотек, и элементы управления, предоставляемые Microsoft в MFC бесплатно, кажутся достаточными для наших нужд.Но у меня все еще есть сомнения по поводу изучения MFC для разработки нового приложения.Мало того, что инвестиции во времени кажутся значительными (со всех сторон, MFC кажется особенно трудным для изучения, даже для опытных разработчиков .NET - хотя я готов попробовать), но также поднимается вопрос о продолжительности жизни MFC.Конечно, учитывая миллионы строк кода и существующих приложений, написанных на нативном C ++, он будет существовать какое-то время, но почерк, так сказать, настал, так сказать, что это уже не рекламируемая платформа разработки Microsoft.

Похоже, что эти функции должны быть уже доступны в WinForms без необходимости сторонних надстроек или выделения большого количества времени и ресурсов для пользовательского рисования ВСЕГО.Я что-то пропустил?Я нахожу очень мало онлайн, который сравнивает эти новые функции MFC с тем, что доступно в WinForms, главным образом потому, что большинство всего написанного на MFC предшествовало его последнему обновлению, перед которым оно выглядело признанным «устаревшим», и с другими его недостаткамивряд ли привлекательная платформа для новых разработок.С самой последней версией VS 2010 у нас есть время подождать, пока WinForms снова не обновится.Какие маршруты вы выбираете для приложений, клиенты которых требуют современный интерфейс с ограниченным бюджетом?

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

Большинство этих функций предоставляется разработчикам .NET через WPF, а не WinForms. Ничто не будет соответствовать вашим ожиданиям «должно быть уже доступно в WinForms», потому что WinForms не добавляется в. Как и COM до этого, «это не умерло, но сделано».

Я думаю, у вас есть ответ на ваш вопрос. Если вы поддерживаете приложение MFC, сделайте так, чтобы оно выглядело 21-м веком. Если вы хорошо знаете MFC, используйте его для нового приложения. Если вы переключились на управляемый код и вам необходимо изучить MFC, чтобы использовать его, вложите эту энергию в изучение WPF. Есть некоторые «конвертеры», которые изменяют WinForms на WPF, чтобы сэкономить ваше время и помочь вам быстрее понять WPF - http://wf2wpf.codeplex.com/, например.

1 голос
/ 12 июня 2010

WinForms в значительной степени в Zombieland - не совсем мертвые, но определенно не очень живые.Я бы сказал, что шансы на ленточную панель для WinForms находятся на одном уровне с шансами новой версии MS-DOS.

Если вам нужны новые функции, такие как ленты сейчас , MFCэто практически единственный выбор, не тратя лишних денег на стороннюю библиотеку.Microsoft заявила, что элемент управления ленты для WPF 4 должен быть доступен в ближайшее время, но AFAIK пока недоступен (хотя некоторое время превью было доступно).

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