Да, вы правильно прочитали заголовок. Несмотря на то, что Windows Forms не пользуется популярностью и находится в режиме обслуживания, он может преподнести пару сюрпризов. Как .NET 5.0 может вводить новые функции для того, что не разрабатывается?
Ответ заключается в том, что, хотя WinForms некоторое время находился в режиме ожидания, в различные версии Windows были добавлены функции, которые никогда не добавлялись в «официальные» библиотеки. Поскольку исходный код WinForms был открыт в 2018 году и перенесен на .NET Core, была открыта возможность поддержки этих «новых» функций. Различные люди пытались инкапсулировать в основном недокументированные и более или менее неофициальные компоненты пользовательского интерфейса. Теперь они официально поддерживаются как часть .NET 5.0, что является еще одной иллюстрацией мощи открытого исходного кода.
Microsoft может больше не заботиться о WinForms, но нас все равно волнует.
Что вы можете рассчитывать на использование?
Новое диалоговое окно задачи — немного похоже на окно сообщения, но с большим количеством опций и гибкостью.
ListView был улучшен в Windows Vista, помните Vista? Теперь вы можете работать со сворачиваемыми группами, субтитрами и нижними колонтитулами.
FileDialog является древним, но все же существует скрытый API, который позволяет вам сохранять его состояние в различных условиях. Вы передаете ему сгенерированный GUID, и он запоминает его состояние. Это означает, что вы можете предложить пользователю несколько типов FileDialog, каждый из которых запоминает свое последнее использование.
Автоматизация пользовательского интерфейса, которая, возможно, не прижилась, потому что она не поддерживалась единообразно, была реализована для Button, ListView, CheckBox и т.д.
Фреймворк также получил некоторые улучшения в эффективности за счет улучшения уровня взаимодействия — на самом деле это не улучшение WinForms, а улучшение .NET, но все же приветствуем.
Как ни странно, некоторые улучшения, как утверждается, связаны с использованием GDI, а не GDI +, что является шагом назад, чтобы сделать шаг вперед.
В будущем есть планы по улучшению поведения средства рендеринга с высоким разрешением, но в некоторой степени это означает, что приложения WinForms могут быть нацелены на планшеты или другие устройства с высоким разрешением, и я не уверен, что это вероятно. Намного лучше был бы WPF, который в настоящее время, похоже, не привлекает особого внимания.
Хорошо, вы можете быть не в восторге от прогресса, но имейте в виду, что тот факт, что вообще есть какой-либо прогресс, является признаком успеха WinForms с открытым исходным кодом — мы можем только надеяться, что WPF следует этому шаблону.