Hallo lieber VBlers, WinFormsler und natürlich auch CSharpler,
wir vom WinForms Team ...
(für die von Euch, die mich nicht so gut kennen: ich bin der "Löffelmann", ich war erst Fachbuchautor für MS Press, dann Microsoft MVP und dann Software Engineer bei Microsoft, und lebe mit meiner Frau Adriana seit fast 2 Jahren in der Nähe von Redmond/Seattle/Washington State. Ich bin aktuell Senior Software Engineer im Windows Forms Team, und bin auch recht intensiv in alles rund um Visual Basic eingebunden)
... waren fleißig in den letzten 12 Monaten, und insbesondere sehr mit Performance-Verbesserungen rund um den neuen WinForms Designer beschäftigt. Seit Visual Studio Version 2019-16.10 sieht man im Designer nicht deutlich neuere Funktionalität, aber es hat sich eine Menge in Sachen Performance getan. Auschecken lohnt sich für .NET (>=5) ganz bestimmt!
Es gibt aber auch nennenswertes zu neuen Features zu berichten für Visual Studio 2022, das es für den (klassischen) Framework Designer nicht gibt (und auch nicht geben wird):
* WinForms und der WinForms-Designer unterstützt nunmehr Default Fonts (>.NET 6 - Application.SetDefaultFont in Program.cs). Damit können Formulare auf der Basis eines anderen als dem Standard-Font, der von der WinForms Runtime vorgegeben wird, designt werden. Insbesondere für Pixel-Perfect-Designs, die vom Framework übernommen werden sollen, stellt das eine deutliche Vereinfachung dar, bringt aber auch Viel für neu kreierte Forms, die mit anderen Fonts oder Font-Größen-Standards erstellt werden sollen.
* In VB gibt es deswegen im Application Framework einen neuen Application Event namens ApplyApplicationDefaults (>.NET 6). Mit dessen Hilfe könnt ihr in dem ApplicationEvent File den Default Font, den HighDpiMode sowie nunmehr auch die MinimumSplashScreenDisplayTime eines etwaigen SplashScreens setzen, den ihr anzeigen lassen wollt.
* Für die Custom Control Designer unter euch: Neu in der WinForms Runtime ist auch eine Property namens Control.IsAncestorSiteInDesignMode mit der man - am besten im Overwrite von CreateHandle - feststellen kann, ob ein Control im DesignMode ist oder nicht. Im Gegensatz zum DesignMode funktioniert das auch, wenn ein Control in einem UserControl in einem UserControl in einem Form gehosted wird. Ihr versteht, was ich meine, nicht?
Könnt ihr das jetzt schon alles ausprobieren?
Ja. Mit Visual Studio 2022 Preview. Gibt es hier.
Und der aktuellen .NET 6 runtime (Achtung! Beta! Nightly Build! Experimente auf eigene Verantwortung!):
Gibt es hier. (Main, 64-Bit Windows. Für andere Versionen schaut hier nach.)
Auch sehenswert im Kontext von "was gibts Neues in Sachen VB", wie ich mit meiner Frau und einem altem Surface 3, auf dem eine VB-Software läuft, durch die hiesige Nachbarschaft fahre:
Achtung, dieses YouTube ist auf English.
Und noch eines, was ich mit meiner lieben Kollegin und Freundin Kathleen vor einiger Zeit im Rahmen der .NET Conf gemacht habe.
Achtung, dieses YouTube Video auf auch auf English.
So, nun auch noch eine Bitte:
Ich hätte gerne Feedback von Euch (positive UND negative), wenn ihr experimentiert mit den neureren Features von WinForms, VB und C#, oder auch was ihr in der jüngsten Vergangenheit aus eurer Praxis (Hobby/Beruf ganz gleich!) mit diesen Dingen zu berichten wisst. Was sind eure Sorgen und Nöte, was ist das Vordringlichste, was euch aus Eurer Sicht daran hindert, um von .NET Framework auf .NET zu portieren/migieren.
(Übrigens, noch ein paar Worte zur Nomenklatur: Wir nennen VB seit langem nur noch Visual Basic, und nicht mehr Visual Basic .NET. Und wir ließen das "Core" hinter dem .NET seit 5.0 fallen. (Im Gegensatz zum alten .NET Framework - bis Version 4.8).)
Tobt euch aus!
Liebe Grüße aus Redmond,
Klaus
wir vom WinForms Team ...
(für die von Euch, die mich nicht so gut kennen: ich bin der "Löffelmann", ich war erst Fachbuchautor für MS Press, dann Microsoft MVP und dann Software Engineer bei Microsoft, und lebe mit meiner Frau Adriana seit fast 2 Jahren in der Nähe von Redmond/Seattle/Washington State. Ich bin aktuell Senior Software Engineer im Windows Forms Team, und bin auch recht intensiv in alles rund um Visual Basic eingebunden)
... waren fleißig in den letzten 12 Monaten, und insbesondere sehr mit Performance-Verbesserungen rund um den neuen WinForms Designer beschäftigt. Seit Visual Studio Version 2019-16.10 sieht man im Designer nicht deutlich neuere Funktionalität, aber es hat sich eine Menge in Sachen Performance getan. Auschecken lohnt sich für .NET (>=5) ganz bestimmt!
Es gibt aber auch nennenswertes zu neuen Features zu berichten für Visual Studio 2022, das es für den (klassischen) Framework Designer nicht gibt (und auch nicht geben wird):
* WinForms und der WinForms-Designer unterstützt nunmehr Default Fonts (>.NET 6 - Application.SetDefaultFont in Program.cs). Damit können Formulare auf der Basis eines anderen als dem Standard-Font, der von der WinForms Runtime vorgegeben wird, designt werden. Insbesondere für Pixel-Perfect-Designs, die vom Framework übernommen werden sollen, stellt das eine deutliche Vereinfachung dar, bringt aber auch Viel für neu kreierte Forms, die mit anderen Fonts oder Font-Größen-Standards erstellt werden sollen.
* In VB gibt es deswegen im Application Framework einen neuen Application Event namens ApplyApplicationDefaults (>.NET 6). Mit dessen Hilfe könnt ihr in dem ApplicationEvent File den Default Font, den HighDpiMode sowie nunmehr auch die MinimumSplashScreenDisplayTime eines etwaigen SplashScreens setzen, den ihr anzeigen lassen wollt.
* Für die Custom Control Designer unter euch: Neu in der WinForms Runtime ist auch eine Property namens Control.IsAncestorSiteInDesignMode mit der man - am besten im Overwrite von CreateHandle - feststellen kann, ob ein Control im DesignMode ist oder nicht. Im Gegensatz zum DesignMode funktioniert das auch, wenn ein Control in einem UserControl in einem UserControl in einem Form gehosted wird. Ihr versteht, was ich meine, nicht?

Könnt ihr das jetzt schon alles ausprobieren?
Ja. Mit Visual Studio 2022 Preview. Gibt es hier.
Und der aktuellen .NET 6 runtime (Achtung! Beta! Nightly Build! Experimente auf eigene Verantwortung!):
Gibt es hier. (Main, 64-Bit Windows. Für andere Versionen schaut hier nach.)
Auch sehenswert im Kontext von "was gibts Neues in Sachen VB", wie ich mit meiner Frau und einem altem Surface 3, auf dem eine VB-Software läuft, durch die hiesige Nachbarschaft fahre:
Achtung, dieses YouTube ist auf English.
Und noch eines, was ich mit meiner lieben Kollegin und Freundin Kathleen vor einiger Zeit im Rahmen der .NET Conf gemacht habe.
Achtung, dieses YouTube Video auf auch auf English.
So, nun auch noch eine Bitte:
Ich hätte gerne Feedback von Euch (positive UND negative), wenn ihr experimentiert mit den neureren Features von WinForms, VB und C#, oder auch was ihr in der jüngsten Vergangenheit aus eurer Praxis (Hobby/Beruf ganz gleich!) mit diesen Dingen zu berichten wisst. Was sind eure Sorgen und Nöte, was ist das Vordringlichste, was euch aus Eurer Sicht daran hindert, um von .NET Framework auf .NET zu portieren/migieren.
(Übrigens, noch ein paar Worte zur Nomenklatur: Wir nennen VB seit langem nur noch Visual Basic, und nicht mehr Visual Basic .NET. Und wir ließen das "Core" hinter dem .NET seit 5.0 fallen. (Im Gegensatz zum alten .NET Framework - bis Version 4.8).)
Tobt euch aus!
Liebe Grüße aus Redmond,
Klaus