Grundlegende Änderungen in Windows Forms für .NET Core 3.0 und 3.1
In Version 3.0 von .NET Core wurde die Unterstützung für Windows Forms hinzugefügt. In diesem Artikel werden die einschneidenden Änderungen für Windows Forms aufgeführt, geordnet nach der .NET-Version, 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, gilt dieser Artikel für Sie.
Auf dieser Seite sind die folgenden Breaking Changes dokumentiert:
.NET Core 3.1
Entfernte Steuerelemente
Ab .NET Core 3.1 sind einige Windows Forms-Steuerelemente nicht mehr verfügbar.
Beschreibung ändern
Ab .NET Core 3.1 sind verschiedene Windows Forms-Steuerelemente nicht mehr verfügbar. Ersatzsteuerungen mit besserem Design und besserer Unterstützung wurden in .NET Framework 2.0 eingeführt. Die veralteten Steuerelemente wurden zuvor aus Designer-Toolboxs entfernt, konnten aber weiterhin verwendet werden.
Die folgenden Typen sind nicht mehr verfügbar:
- ContextMenu
- DataGrid
- DataGrid.HitTestType
- DataGrid.HitTestInfo
- DataGridBoolColumn
- DataGridCell
- DataGridColumnStyle
- DataGridColumnStyle.DataGridColumnHeaderAccessibleObject
- DataGridColumnStyle.CompModSwitches
- DataGridLineStyle
- DataGridParentRowsLabelStyle
- DataGridPreferredColumnWidthTypeConverter
- DataGridTableStyle
- DataGridTextBox
- DataGridTextBoxColumn
- GridColumnStylesCollection
- GridTablesFactory
- GridTableStylesCollection
- IDataGridEditingService
- IMenuEditorService
- MainMenu
- Menu
- Menu.MenuItemCollection
- MenuItem
- ToolBar
- ToolBarAppearance
- ToolBarButton
- ToolBar.ToolBarButtonCollection
- ToolBarButtonClickEventArgs
- ToolBarButtonStyle
- ToolBarTextAlign
Eingeführt in Version
3.1
Empfohlene Aktion
Für jedes entfernte Steuerelement gibt es ein empfohlenes Ersatzsteuerelement. Siehe die folgende Tabelle:
Entferntes Steuerelement (API) | Empfohlener Ersatz | Zugeordnete APIs, die entfernt werden |
---|---|---|
Kontextmenü | 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
- System.Windows.Forms.ContextMenu
- System.Windows.Forms.GridColumnStylesCollection
- System.Windows.Forms.GridTablesFactory
- System.Windows.Forms.GridTableStylesCollection
- System.Windows.Forms.IDataGridEditingService
- System.Windows.Forms.MainMenu
- System.Windows.Forms.Menu
- System.Windows.Forms.Menu.MenuItemCollection
- System.Windows.Forms.MenuItem
- System.Windows.Forms.ToolBar
- System.Windows.Forms.ToolBar.ToolBarButtonCollection
- System.Windows.Forms.ToolBarAppearance
- System.Windows.Forms.ToolBarButton
- System.Windows.Forms.ToolBarButtonClickEventArgs
- System.Windows.Forms.ToolBarButtonStyle
- System.Windows.Forms.ToolBarTextAlign
- System.Windows.Forms.DataGrid
- System.Windows.Forms.DataGrid.HitTestType
- System.Windows.Forms.DataGridBoolColumn
- System.Windows.Forms.DataGridCell
- System.Windows.Forms.DataGridColumnStyle
- System.Windows.Forms.DataGridLineStyle
- System.Windows.Forms.DataGridParentRowsLabelStyle
- System.Windows.Forms.DataGridPreferredColumnWidthTypeConverter
- System.Windows.Forms.DataGridTableStyle
- System.Windows.Forms.DataGridTextBox
- System.Windows.Forms.DataGridTextBoxColumn
- System.Windows.Forms.Design.IMenuEditorService
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.
Beschreibung ändern
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
Empfohlene Aktion
Schreiben Sie Code um, der das CellFormatting-Ereignis benötigt, während sich die DataGridView im Bearbeitungsmodus befindet.
Kategorie
Windows Forms
Betroffene APIs
Nichts
.NET Core 3.0
Standardschriftart für Steuerelemente in Segoe UI 9 pt geändert
Beschreibung ändern
In .NET Framework wurde die Control.DefaultFont-Eigenschaft auf Microsoft Sans Serif 8.25 pt
festgelegt. Die folgende Abbildung zeigt ein Fenster, das die Standardschriftart verwendet.
Ab .NET Core 3.0 wird die Standardschriftart auf Segoe UI 9 pt
festgelegt (die gleiche Schriftart wie SystemFonts.MessageBoxFont). Aufgrund dieser Änderung sind Formulare und Steuerelemente etwa 27% größer, um die größere Größe der neuen Standardschriftart zu berücksichtigen. Zum Beispiel:
Diese Änderung wurde entsprechend den Leitfäden für Benutzeroberflächen unter Windows vorgenommen.
Eingeführt in Version
3.0
Empfohlene Aktion
Aufgrund der Änderung der Größe von Formularen und Steuerelementen sollten Sie sicherstellen, dass Ihre Anwendung richtig gerendert wird.
Wenn Sie die ursprüngliche Schriftart für ein einzelnes Formular beibehalten möchten, 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 Arten ändern:
Durch Festlegen der
ApplicationDefaultFont
MSBuild-Eigenschaft auf „Microsoft Sans Serif, 8.25pt“. Dies ist die bevorzugte Technik, da Visual Studio 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.
Beschreibung ändern
In .NET Framework verwendet Windows Forms das folgende Dialogfeld für das FolderBrowserDialog-Steuerelement:
In .NET Core 3.0 verwendet Windows Forms ein neueres COM-basiertes Steuerelement, das in Windows Vista eingeführt wurde:
Eingeführt in Version
3.0
Empfohlene Aktion
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 dargestellt:
var dialog = new FolderBrowserDialog();
dialog.AutoUpgradeEnabled = false;
dialog.ShowDialog();
Kategorie
Windows Forms
Betroffene APIs
SerializableAttribute wurde aus einigen Windows Forms-Typen entfernt
Die SerializableAttribute wurde aus einigen Windows Forms-Klassen entfernt, die keine bekannten binären Serialisierungsszenarien aufweisen.
Beschreibung ändern
Die folgenden Typen sind mit dem Attribut SerializableAttribute im .NET-Framework versehen, jedoch wurde das Attribut in .NET-Core entfernt.
System.InvariantComparer
- System.ComponentModel.Design.ExceptionCollection
- System.ComponentModel.Design.Serialization.CodeDomSerializerException
System.ComponentModel.Design.Serialization.CodeDomComponentSerializationService.CodeDomSerializationStore
- System.Drawing.Design.ToolboxItem
System.Resources.ResXNullRef
System.Resources.ResXDataNode
System.Resources.ResXFileRef
- System.Windows.Forms.Cursor
System.Windows.Forms.NativeMethods.MSOCRINFOSTRUCT
System.Windows.Forms.NativeMethods.MSG
Historisch gesehen hat dieser Serialisierungsmechanismus schwerwiegende Wartungs- und Sicherheitsbedenken. Die Beibehaltung von SerializableAttribute
für Typen bedeutet, dass diese Typen auf Serialisierungsänderungen zwischen verschiedenen Versionen und potenziell auf Serialisierungsänderungen zwischen verschiedenen Frameworks getestet werden müssen. Dies macht es schwieriger, diese Typen zu entwickeln und kann kostspielig sein, aufrechtzuerhalten. Diese Typen weisen keine bekannten binären Serialisierungsszenarien auf, wodurch die Auswirkungen des Entfernens des Attributs minimiert werden.
Weitere Informationen finden Sie unter Binäre Serialisierung.
Eingeführt in Version
3.0
Empfohlene Aktion
Aktualisieren Sie jeglichen Code, der möglicherweise davon abhängig ist, dass diese Typen als serialisierbar gekennzeichnet sind.
Kategorie
Windows Forms
Betroffene APIs
- Nichts
Kompatibilitätsoption AllowUpdateChildControlIndexForTabControls wird nicht unterstützt
Der Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
Kompatibilitätsschalter wird in Windows Forms unter .NET Framework 4.6 und höheren Versionen unterstützt, wird jedoch auf .NET Core sowie .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
Wenn in .NET Framework 4.6 und höheren Versionen eine Registerkarte ausgewählt wird, wird die Steuerelementauflistung neu sortiert. Die Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
Kompatibilitätsoption ermöglicht es einer Anwendung, diese Neuanordnung zu überspringen, wenn dieses Verhalten nicht erwü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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.
Kategorie
Windows-Formulare
Betroffene APIs
- Nichts
Kompatibilitätsoption DomainUpDown.UseLegacyScrolling wird nicht unterstützt
Der Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
Kompatibilitätsswitch, der in .NET Framework 4.7.1 eingeführt wurde, wird in Windows Forms unter .NET Core oder .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
Ab .NET Framework 4.7.1 ermöglichte der Kompatibilitätswechsel Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
den Entwicklern, unabhängige DomainUpDown.DownButton()- und DomainUpDown.UpButton()-Aktionen zu deaktivieren. 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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter 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 Switch.System.Windows.Forms.UseLegacyImages
Kompatibilitätsswitch, der in .NET Framework 4.7.1 eingeführt wurde, wird in Windows Forms unter .NET Core oder .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
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). Die Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl
Kompatibilitätsoption wurde eingeführt, um Anwendungen zuzulassen, die auf .NET Framework 4.7.1 und höhere Versionen abzielen, das neue RichEdit v4.1-Steuerelement zu deaktivieren und stattdessen das alte RichEdit v3-Steuerelement zu verwenden.
In .NET Core und .NET 5.0 und 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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter 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 Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
Kompatibilitätsswitch, der in .NET Framework 4.6.1 eingeführt wurde, wird in Windows Forms unter .NET Core und .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
Ab .NET Framework 4.6.1 wird mit der Tastenkombination STRG + ATextBox in einem -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 Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
Kompatibilitätsswitch 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 und höheren Versionen wird der Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
Switch nicht unterstützt.
Eingeführt in Version
3.0
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.
Kategorie
Windows Forms
Betroffene APIs
- Nichts
Kompatibilitätsoption DontSupportReentrantFilterMessage wird nicht unterstützt
Der Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
Kompatibilitätsswitch, der in .NET Framework 4.6.1 eingeführt wurde, wird in Windows Forms unter .NET Core und .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter 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.
Beschreibung ändern
In .NET Framework erlaubte der Switch.System.Windows.Forms.EnableVisualStyleValidation
Kompatibilitätsschalter einer Anwendung, auf die Überprüfung der in numerischer Form bereitgestellten visuellen Stile zu verzichten.
In .NET Core und .NET 5.0 und höher wird der Schalter Switch.System.Windows.Forms.EnableVisualStyleValidation
nicht unterstützt.
Eingeführt in Version
3.0
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.
Kategorie
Windows Forms
Betroffene APIs
- Nichts
Kompatibilitätsoption UseLegacyContextMenuStripSourceControlValue wird nicht unterstützt
Der Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
Kompatibilitätsswitch, der in .NET Framework 4.7.2 eingeführt wurde, wird in Windows Forms unter .NET Core oder .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
Ab .NET Framework 4.7.2 können Entwickler mit dem Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
-Kompatibilitätsschalter das neue Verhalten der ContextMenuStrip.SourceControl-Eigenschaft deaktivieren, welche nun einen Verweis auf die Quellsteuerung zurückgibt. 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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter 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 Switch.System.Windows.Forms.UseLegacyImages
Kompatibilitätsswitch, der in .NET Framework 4.8 eingeführt wurde, wird in Windows Forms unter .NET Core oder .NET 5.0 und höher nicht unterstützt.
Beschreibung ändern
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 dieser Wert auf true
festgelegt ist, ermöglicht der Schalter dem Benutzer das Wiederherstellen der älteren Bildskalierung auf Displays mit hohem DPI-Wert, 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
Empfohlene Aktion
Entfernen Sie den Schalter. Der Schalter wird nicht unterstützt, und es ist keine alternative Funktionalität verfügbar.
Kategorie
Windows Forms
Betroffene APIs
- Nichts
Vorlagen „About“ und „SplashScreen“ sind fehlerhaft
Die von Visual Studio generierten About.vb
- und SplashScreen.vb
-Dateien 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
Beschreibung ändern
.NET Core 3.0 und 3.1 enthalten keine vollständige Unterstützung von Visual Basic My
. 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.
Empfohlene Aktion
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 System.Reflection.Assembly
Klasse, um die vom My.Application.Info
Typ bereitgestellten Informationen abzurufen. 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 des Formulars zu verringern.
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
Nichts