Freigeben über


Breaking Changes in Windows Forms für .NET Core 3.0 und 3.1

Windows Forms-Unterstützung wurde zu .NET Core in Version 3.0 hinzugefügt. In diesem Artikel werden Breaking Changes für Windows Forms anhand der .NET-Version aufgeführt, in der sie eingeführt wurden. Wenn Sie ein Upgrade einer Windows Forms-App von .NET Framework oder einer früheren Version von .NET Core (3.0 oder höher) durchführen, bietet Ihnen dieser Artikel Unterstützung.

Auf dieser Seite sind die folgenden Breaking Changes dokumentiert:

Unterbrechende Änderung Eingeführt in Version
Entfernte Steuerelemente 3.1
CellFormatting-Ereignis wird nicht ausgelöst, wenn QuickInfo angezeigt wird 3.1
Control.DefaultFont wurde in Segoe UI 9 pt geändert 3.0
Modernisierung von FolderBrowserDialog 3.0
SerializableAttribute aus einigen Windows Forms-Typen entfernt 3.0
Kompatibilitätsoption AllowUpdateChildControlIndexForTabControls wird nicht unterstützt 3.0
Kompatibilitätsoption DomainUpDown.UseLegacyScrolling wird nicht unterstützt 3.0
Kompatibilitätsoption DoNotLoadLatestRichEditControl wird nicht unterstützt 3.0
Kompatibilitätsoption DoNotSupportSelectAllShortcutInMultilineTextBox wird nicht unterstützt 3.0
Kompatibilitätsoption DontSupportReentrantFilterMessage wird nicht unterstützt 3.0
Kompatibilitätsoption EnableVisualStyleValidation wird nicht unterstützt 3.0
Kompatibilitätsoption UseLegacyContextMenuStripSourceControlValue wird nicht unterstützt 3.0
Kompatibilitätsoption UseLegacyImages wird nicht unterstützt 3.0
Vorlagen „About“ und „SplashScreen“ für Visual Basic sind fehlerhaft 3.0

.NET Core 3.1

Entfernte Steuerelemente

Ab .NET Core 3.1 sind einige Windows Forms-Steuerelemente nicht mehr verfügbar.

Änderungsbeschreibung

Ab .NET Core 3.1 sind verschiedene Windows Forms-Steuerelemente nicht mehr verfügbar. Ersatzsteuerelemente, die ein besseres Design und eine umfassendere Unterstützung bieten, wurden in .NET Framework 2.0 eingeführt. Die veralteten Steuerelemente wurden zwar bereits aus den Designer-Toolboxen entfernt, konnten aber weiterhin verwendet werden.

Die folgenden Typen stehen nicht mehr länger zur Verfügung:

Eingeführt in Version

3.1

Für jedes entfernte Steuerelement gibt es ein empfohlenes Ersatzsteuerelement. Beachten Sie hierzu die folgende Tabelle:

Entferntes Steuerelement (API) Empfohlener Ersatz Zugehörige entfernte APIs
ContextMenu ContextMenuStrip
DataGrid DataGridView DataGridCell, DataGridRow, DataGridTableCollection, DataGridColumnCollection, DataGridTableStyle, DataGridColumnStyle, DataGridLineStyle, DataGridParentRowsLabel, DataGridParentRowsLabelStyle, DataGridBoolColumn, DataGridTextBox, GridColumnStylesCollection, GridTableStylesCollection, HitTestType
MainMenu MenuStrip
Menü ToolStripDropDown, ToolStripDropDownMenu MenuItemCollection
MenuItem ToolStripMenuItem
ToolBar ToolStrip ToolBarAppearance
ToolBarButton ToolStripButton ToolBarButtonClickEventArgs, ToolBarButtonClickEventHandler, ToolBarButtonStyle, ToolBarTextAlign

Kategorie

Windows Forms

Betroffene APIs


CellFormatting-Ereignis wird nicht ausgelöst, wenn QuickInfo angezeigt wird

Eine DataGridView zeigt nun Text- und die Fehler-QuickInfos einer Zelle an, wenn mit der Maus darauf gezeigt wird oder wenn sie mit der Tastatur ausgewählt wird. Wenn eine QuickInfo angezeigt wird, wird das DataGridView.CellFormatting-Ereignis nicht ausgelöst.

Änderungsbeschreibung

Vor .NET Core 3.1 wurde bei einer DataGridView, für die die ShowCellToolTips-Eigenschaft auf true festgelegt wurde, eine QuickInfo für den Text und Fehler einer Zelle angezeigt, wenn mit der Maus auf die Zelle gezeigt wurde. Es wurden keine QuickInfos angezeigt, wenn die Maus mit der Tastatur ausgewählt wurde (z. B. mit der TAB-TASTE, einer Tastenkombination oder den Pfeiltasten). Wenn der Benutzer eine Zelle bearbeitet hat und die DataGridView sich noch im Bearbeitungsmodus befunden hat und mit der Maus auf eine Zelle gezeigt wurde, für die die ToolTipText-Eigenschaft nicht festgelegt war, wurde ein CellFormatting-Ereignis ausgelöst, um den Text der Zelle für die Anzeige in der Zelle zu formatieren.

Um die Barrierefreiheitsstandards zu erfüllen, werden ab .NET Core 3.1 bei einer DataGridView, für die die ShowCellToolTips-Eigenschaft auf true festgelegt ist, QuickInfos für den Text und Fehler der Zelle nicht nur dann angezeigt, wenn mit der Maus darauf gezeigt wird, sondern auch, wenn sie mit der Tastatur ausgewählt wird. Infolge dieser Änderung wird das CellFormatting-Ereignis nicht ausgelöst, wenn mit der Maus auf Zellen gezeigt wird, für die ToolTipText-Eigenschaft nicht festgelegt ist, und die DataGridView sich im Bearbeitungsmodus befindet. Das Ereignis wird nicht ausgelöst, da der Inhalt der Zelle, auf die gezeigt wird, als QuickInfo und nicht in der Zelle dargestellt wird.

Eingeführt in Version

3.1

Schreiben Sie Code um, der das CellFormatting-Ereignis benötigt, während sich die DataGridView im Bearbeitungsmodus befindet.

Kategorie

Windows Forms

Betroffene APIs

Keine


.NET Core 3.0

Standardschriftart für Steuerelemente in Segoe UI 9 pt geändert

Änderungsbeschreibung

Im .NET Framework wurde die Eigenschaft Control.DefaultFont auf Microsoft Sans Serif 8.25 pt festgelegt. Die folgende Abbildung zeigt ein Fenster, in dem die Standardschriftart verwendet wird.

Standardschriftart für Steuerelemente im .NET Framework

Ab .NET Core 3.0 ist die Standardschriftart auf Segoe UI 9 pt festgelegt (dieselbe Schriftart wie SystemFonts.MessageBoxFont). Infolge dieser Änderung werden Formulare und Steuerelemente etwa 27 % größer dimensioniert, um der größeren neuen Standardschriftart gerecht zu werden. Beispiel:

Standardschriftart für Steuerelemente in .NET Core

Diese Änderung wurde entsprechend den Leitfäden für Benutzeroberflächen unter Windows vorgenommen.

Eingeführt in Version

3.0

Aufgrund der Änderung der Größe von Formularen und Steuerelementen sollten Sie sicherstellen, dass Ihre Anwendung richtig gerendert wird.

Um die ursprüngliche Schriftart für ein einzelnes Formular beizubehalten, legen Sie die Standardschriftart auf Microsoft Sans Serif 8.25 pt fest. Zum Beispiel:

public MyForm()
{
    InitializeComponent();
    Font = new Font(new FontFamily("Microsoft Sans Serif"), 8.25f);
}

Alternativ können Sie die Standardschriftart für eine gesamte Anwendung auf eine der folgenden Weisen ändern:

  • Durch Festlegen der ApplicationDefaultFont MSBuild-Eigenschaft auf „Microsoft Sans Serif, 8.25pt“. Dies ist die bevorzugte Technik, da Visual Studio so die neuen Einstellungen im Designer verwenden kann.

    <PropertyGroup>
      <ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont>
    </PropertyGroup>
    
  • Durch Aufrufen von Application.SetDefaultFont(Font).

    class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.SetHighDpiMode(HighDpiMode.SystemAware);
            Application.SetDefaultFont(new Font(new FontFamily("Microsoft Sans Serif"), 8.25f));
            Application.Run(new Form1());
        }
    }
    

Kategorie

  • Windows Forms

Betroffene APIs

Keine.


Modernisierung von FolderBrowserDialog

Das FolderBrowserDialog-Steuerelement wurde in Windows Forms-Anwendungen für .NET Core geändert.

Änderungsbeschreibung

In .NET Framework verwendet Windows Forms das folgende Dialogfeld für das FolderBrowserDialog-Steuerelement:

FolderBrowserDialogControl in .NET Framework

In .NET Core 3.0 verwendet Windows Forms ein neueres COM-basiertes Steuerelement, das in Windows Vista eingeführt wurde:

FolderBrowserDialogControl in .NET Core

Eingeführt in Version

3.0

Das Dialogfeld wird automatisch aktualisiert.

Wenn Sie das ursprüngliche Dialogfeld beibehalten möchten, legen Sie die FolderBrowserDialog.AutoUpgradeEnabled-Eigenschaft auf false fest, bevor Sie das Dialogfeld anzeigen, wie im folgenden Codefragment veranschaulicht:

var dialog = new FolderBrowserDialog();
dialog.AutoUpgradeEnabled = false;
dialog.ShowDialog();

Kategorie

Windows Forms

Betroffene APIs


SerializableAttribute aus einigen Windows Forms-Typen entfernt

SerializableAttribute wurde aus einigen Windows Forms-Klassen ohne bekannte Szenarios für binäre Serialisierung entfernt.

Änderungsbeschreibung

Die folgenden Typen enthalten in .NET Framework das Attribut SerializableAttribute, das in .NET Core entfernt wurde:

In der Vergangenheit bereitete dieser Serialisierungsmechanismus schwerwiegende Wartungs- und Sicherheitsprobleme. Die Beibehaltung von SerializableAttribute für Typen bedeutet, dass diese Typen auf Serialisierungsänderungen zwischen Versionen und auf potenzielle Serialisierungsänderungen zwischen Frameworks geprüft werden müssen. Dies erschwert die Weiterentwicklung dieser Typen und verteuert die Beibehaltung. Da es für diese Typen keine bekannten Serialisierungsszenarios gibt, sind die Auswirkungen minimal, wenn das Attribut entfernt wird.

Weitere Informationen finden Sie unter Binäre Serialisierung.

Eingeführt in Version

3.0

Aktualisieren Sie jeden Code, der von diesen als serialisierbar markierten Typen abhängig ist.

Kategorie

Windows Forms

Betroffene APIs

  • Keine

Kompatibilitätsoption AllowUpdateChildControlIndexForTabControls wird nicht unterstützt

Der Kompatibilitätsswitch Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls wird in Windows Forms unter .NET Framework 4.6 und höheren Versionen unterstützt. Er wird jedoch nicht unter .NET Core oder .NET 5.0 oder höher unterstützt.

Änderungsbeschreibung

Wenn in .NET Framework 4.6 und höheren Versionen eine Registerkarte ausgewählt wird, wird die Steuerelementauflistung neu sortiert. Mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls kann eine Anwendung diese Neusortierung überspringen, sofern dieses Verhalten unerwünscht ist.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs

  • Keine

Kompatibilitätsoption DomainUpDown.UseLegacyScrolling wird nicht unterstützt

Der mit .NET Framework 4.7.1 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling wird in Windows Forms unter .NET Core oder .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

Ab .NET Framework 4.7.1 können Entwickler mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling die unabhängigen Aktionen DomainUpDown.DownButton() und DomainUpDown.UpButton() abstellen. Mit dem Switch wird das Legacyverhalten wiederhergestellt, bei dem DomainUpDown.UpButton() ignoriert wird, wenn Kontexttext vorhanden ist, und der Entwickler wird gezwungen, die Aktion DomainUpDown.DownButton() vor der Aktion DomainUpDown.UpButton() auf das Steuerelement anwenden. Weitere Informationen finden Sie unter <AppContextSwitchOverrides>-Element.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs


Kompatibilitätsoption DoNotLoadLatestRichEditControl wird nicht unterstützt

Der mit .NET Framework 4.7.1 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.UseLegacyImages wird in Windows Forms unter .NET Core oder .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

In .NET Framework 4.6.2 und früheren Versionen instanziiert das RichTextBox-Steuerelement das Win32 RichEdit-Steuerelement v3.0, und bei Anwendungen für .NET Framework 4.7.1 instanziiert das Steuerelement RichTextBox RichEdit v4.1 (in msftedit.dll). Der Kompatibilitätsswitch Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl wurde eingeführt, damit Anwendungen für .NET Framework 4.7.1 und höhere Versionen das neue RichEdit v4.1-Steuerelement ignorieren und stattdessen das alte RichEdit v3-Steuerelement verwenden können.

In .NET Core und .NET 5.0 oder höheren Versionen wird der Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl-Switch nicht unterstützt. Es werden nur neue Versionen des RichTextBox-Steuerelements unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs


Kompatibilitätsoption DoNotSupportSelectAllShortcutInMultilineTextBox wird nicht unterstützt

Der mit .NET Framework 4.6.1 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox wird in Windows Forms unter .NET Core und .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

Ab .NET Framework 4.6.1 wird mit der Tastenkombination STRG + A in einem TextBox-Steuerelement der gesamte Text ausgewählt. In .NET Framework 4.6 und früheren Versionen konnte mit der Tastenkombination STRG + A nicht der gesamte Text ausgewählt werden, wenn die beiden Eigenschaften Textbox.ShortcutsEnabled und TextBox.Multiline auf true festgelegt waren. Der Kompatibilitätsswitch Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox wurde in .NET Framework 4.6.1 eingeführt, um das ursprüngliche Verhalten beizubehalten. Weitere Informationen finden Sie unter TextBox.ProcessCmdKey.

In .NET Core und .NET 5.0 oder höheren Versionen wird der Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs

  • Keine

Kompatibilitätsoption DontSupportReentrantFilterMessage wird nicht unterstützt

Der mit .NET Framework 4.6.1 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.DontSupportReentrantFilterMessage wird in Windows Forms unter .NET Core und .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

Ab .NET Framework 4.6.1 werden mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.DontSupportReentrantFilterMessage mögliche IndexOutOfRangeException-Ausnahmen behandelt, wenn die Application.FilterMessage-Nachricht mit einer benutzerdefinierten IMessageFilter.PreFilterMessage-Implementierung aufgerufen wird. Weitere Informationen finden Sie unter Entschärfung: Benutzerdefinierte IMessageFilter.PreFilterMessage-Implementierungen.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.DontSupportReentrantFilterMessage-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs


Kompatibilitätsoption EnableVisualStyleValidation wird nicht unterstützt

Der Kompatibilitätsswitch Switch.System.Windows.Forms.EnableVisualStyleValidation wird in Windows Forms unter .NET Core oder .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

In .NET Framework ist es mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.EnableVisualStyleValidation möglich, dass eine Anwendung die Prüfung von visuellen Elementen abstellt, die in einer numerischen Form bereitgestellt werden.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.EnableVisualStyleValidation-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs

  • Keine

Kompatibilitätsoption UseLegacyContextMenuStripSourceControlValue wird nicht unterstützt

Der mit .NET Framework 4.7.2 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue wird in Windows Forms unter .NET Core oder .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

Ab .NET Framework 4.7.2 kann der Entwickler mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue das neue Verhalten der ContextMenuStrip.SourceControl-Eigenschaft abstellen, mit dem nun ein Verweis an die Quellcodeverwaltung zurückgegeben wird. Mit dem früheren Verhalten der Eigenschaft wurde null zurückgegeben. Weitere Informationen finden Sie unter <AppContextSwitchOverrides>-Element.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs


Kompatibilitätsoption UseLegacyImages wird nicht unterstützt

Der mit .NET Framework 4.8 eingeführte Kompatibilitätsswitch Switch.System.Windows.Forms.UseLegacyImages wird in Windows Forms unter .NET Core oder .NET 5.0 oder höher nicht unterstützt.

Änderungsbeschreibung

Ab .NET Framework 4.8 werden mit dem Kompatibilitätsswitch Switch.System.Windows.Forms.UseLegacyImages mögliche Bildskalierungsprobleme in ClickOnce-Szenarios in Umgebungen mit hohem DPI-Wert behoben. Wenn der Switch auf true festgelegt wird, kann der Benutzer die Legacybildskalierung in Anzeigen mit hohem DPI-Wert wiederherstellen, deren Skalierung auf mehr als 100 % festgelegt ist. Weitere Informationen finden Sie unter Versionshinweise zu .NET Framework 4.8 auf GitHub.

In .NET Core und .NET 5.0 oder höher wird der Switch.System.Windows.Forms.UseLegacyImages-Switch nicht unterstützt.

Eingeführt in Version

3.0

Entfernen Sie den Switch. Der Switch wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.

Kategorie

Windows Forms

Betroffene APIs

  • Keine

Vorlagen „About“ und „SplashScreen“ sind fehlerhaft

Die von Visual Studio generierten Dateien About.vb und SplashScreen.vb enthalten Verweise auf Typen im My-Namespace, die in .NET Core 3.0 und 3.1 nicht verfügbar sind.

Eingeführt in Version

3.0

Änderungsbeschreibung

.NET Core 3.0 und 3.1 bieten keine vollständige Unterstützung für My in Visual Basic. Die Formularvorlagen About und SplashScreen in Visual Studio für Visual Basic Windows Forms-Apps verweisen auf Eigenschaften im Typ My.Application.Info, die nicht verfügbar sind.

Die Unterstützung für My in Visual Basic wurde in .NET 5 verbessert. Führen Sie ein Upgrade Ihres Projekts auf .NET 5 oder höher durch.

Oder

Beheben Sie die Compilerfehler in den Typen About und SplashScreen in Ihrer App. Verwenden Sie die Klasse System.Reflection.Assembly, um die vom Typ My.Application.Info bereitgestellten Informationen zu erhalten. Eine direkte Portierung beider Formulare ist hier verfügbar.

Tipp

Dies ist Beispielcode und nicht optimiert. Die Liste der Attribute sollte zwischengespeichert werden, um die Ladezeit von Formularen zu verkürzen.

Info

Imports System.Reflection

Public NotInheritable Class About

    Private Sub about_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Set the title of the form.
        Dim applicationTitle As String = Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyTitleAttribute)()?.Title

        If String.IsNullOrEmpty(applicationTitle) Then
            applicationTitle = System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().GetName().Name)
        End If

        Me.Text = String.Format("About {0}", applicationTitle)
        ' Initialize all of the text displayed on the About Box.
        ' TODO: Customize the application's assembly information in the "Application" pane of the project
        '    properties dialog (under the "Project" menu).
        Me.LabelProductName.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyProductAttribute)()?.Product, "")
        Me.LabelVersion.Text = String.Format("Version {0}", Assembly.GetExecutingAssembly().GetName().Version)
        Me.LabelCopyright.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCopyrightAttribute)()?.Copyright, "")
        Me.LabelCompanyName.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCompanyAttribute)()?.Company, "")
        Me.TextBoxDescription.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyDescriptionAttribute)()?.Description, "")
    End Sub

    Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
        Me.Close()
    End Sub

End Class

SplashScreen

Imports System.Reflection

Public NotInheritable Class SplashScreen

    Private Sub SplashScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Set up the dialog text at runtime according to the application's assembly information.  

        'TODO: Customize the application's assembly information in the "Application" pane of the project
        '  properties dialog (under the "Project" menu).

        'Application title
        Dim appTitle As String = Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyTitleAttribute)()?.Title

        If String.IsNullOrEmpty(appTitle) Then
            appTitle = System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().GetName().Name)
        End If

        ApplicationTitle.Text = appTitle

        Dim versionValue = Assembly.GetExecutingAssembly().GetName().Version

        'Format the version information using the text set into the Version control at design time as the
        '  formatting string.  This allows for effective localization if desired.
        '  Build and revision information could be included by using the following code and changing the
        '  Version control's designtime text to "Version {0}.{1:00}.{2}.{3}" or something similar.  See
        '  String.Format() in Help for more information.
        '
        '    Version.Text = System.String.Format(Version.Text, versionValue.Major, versionValue.Minor, versionValue.Build, versionValue.Revision)

        Version.Text = System.String.Format(Version.Text, versionValue.Major, versionValue.Minor)

        'Copyright info
        Copyright.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCopyrightAttribute)()?.Copyright, "")
    End Sub

End Class

Kategorie

Visual Basic Windows Forms

Betroffene APIs

Keine


Siehe auch