Istotne zmiany w formularzach Windows Forms dla platformy .NET Core 3.0 i 3.1
Obsługa formularzy systemu Windows została dodana do platformy .NET Core w wersji 3.0. W tym artykule wymieniono zmiany powodujące niezgodność dla formularzy systemu Windows w wersji platformy .NET, w której zostały wprowadzone. Jeśli uaktualniasz aplikację Windows Forms z programu .NET Framework lub z poprzedniej wersji platformy .NET Core (3.0 lub nowszej), ten artykuł dotyczy Ciebie.
Na tej stronie udokumentowane są następujące zmiany powodujące niezgodność:
.NET Core 3.1
Usunięte kontrolki
Począwszy od platformy .NET Core 3.1, niektóre kontrolki windows Forms nie są już dostępne.
Opis zmiany
Począwszy od platformy .NET Core 3.1, różne kontrolki windows Forms nie są już dostępne. Kontrolki zastępcze, które mają lepszy projekt i obsługę, zostały wprowadzone w programie .NET Framework 2.0. Przestarzałe kontrolki zostały wcześniej usunięte z przybornika projektanta, ale nadal były dostępne do użycia.
Następujące typy nie są już dostępne:
- ContextMenu
- DataGrid
- DataGrid.HitTestType
- 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
Wprowadzona wersja
3.1
Zalecana akcja
Każda usunięta kontrolka ma zalecaną kontrolkę zastępczą. Zapoznaj się z następującą tabelą:
Usunięto kontrolkę (API) | Zalecane zastąpienie | Skojarzone interfejsy API, które są usuwane |
---|---|---|
ContextMenu | ContextMenuStrip | |
DataGrid | Datagridview | DataGridCell, DataGridRow, DataGridTableCollection, DataGridColumnCollection, DataGridTableStyle, DataGridColumnStyle, DataGridLineStyle, DataGridParentRowsLabel, DataGridParentRowsLabelStyle, DataGridBoolColumn, DataGridTextBox, GridColumnStylesCollection, GridTableStylesCollection, HitTestType |
Mainmenu | MenuStrip | |
Menu | ToolStripDropDown, ToolStripDropDownMenu | Menuitemcollection |
MenuItem | Toolstripmenuitem | |
ToolBar | ToolStrip | ToolBarAppearance |
Toolbarbutton | Toolstripbutton | ToolBarButtonClickEventArgs, ToolBarButtonClickEventHandler, ToolBarButtonStyle, ToolBarTextAlign |
Kategoria
Windows Forms
Dotyczy interfejsów API
- 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
Zdarzenie formatowania komórek nie jest zgłaszane, jeśli jest wyświetlana etykietka narzędzia
Element DataGridView zawiera teraz tekst komórki i etykietki narzędzi błędów po umieszczeniu wskaźnika myszy i wybraniu za pomocą klawiatury. Jeśli zostanie wyświetlona etykietka narzędzia, DataGridView.CellFormatting zdarzenie nie zostanie zgłoszone.
Opis zmiany
Przed platformą .NET Core 3.1 właściwość, DataGridView która miała ShowCellToolTips ustawioną właściwość, wyświetlała true
etykietkę narzędzia dla tekstu komórki i błędy, gdy komórka została zatrzymana myszą. Etykietki narzędzi nie były wyświetlane, gdy komórka została wybrana za pomocą klawiatury (na przykład za pomocą klawisza Tab, klawiszy skrótów lub nawigacji strzałką). Jeśli użytkownik edytował komórkę, a następnie, gdy DataGridView był nadal w trybie edycji, zatrzymał wskaźnik myszy na komórce, która nie ma ToolTipText zestawu właściwości, CellFormatting zdarzenie zostało zgłoszone w celu sformatowania tekstu komórki do wyświetlenia w komórce.
Aby spełnić standardy ułatwień dostępu, począwszy od platformy .NET Core 3.1, właściwość, która ma ShowCellToolTips ustawioną właściwość , wyświetla true
etykietki narzędzi dla tekstu komórki i błędy nie tylko wtedy, DataGridView gdy komórka zostanie zatrzymana, ale także po jej wybraniu za pomocą klawiatury. W wyniku tej zmiany zdarzenie nie jest wywoływane, CellFormatting gdy komórki, które nie mają ToolTipText zestawu właściwości, są najechane, gdy DataGridView obiekt jest w trybie edycji. Zdarzenie nie jest wywoływane, ponieważ zawartość zatrzymanej komórki jest wyświetlana jako etykietka narzędzia, a nie wyświetlana w komórce.
Wprowadzona wersja
3.1
Zalecana akcja
Refaktoryzuj dowolny kod, który zależy od CellFormatting zdarzenia, gdy DataGridView element jest w trybie edycji.
Kategoria
Windows Forms
Dotyczy interfejsów API
Brak
.NET Core 3.0
Domyślna czcionka kontrolki została zmieniona na Segoe UI 9 pkt
Opis zmiany
W programie .NET Framework właściwość została ustawiona Control.DefaultFont na Microsoft Sans Serif 8.25 pt
. Na poniższej ilustracji przedstawiono okno, które używa czcionki domyślnej.
Począwszy od platformy .NET Core 3.0, domyślna czcionka jest ustawiona na Segoe UI 9 pt
(ta sama czcionka co SystemFonts.MessageBoxFont). W wyniku tej zmiany formularze i kontrolki mają rozmiar około 27% większy, aby uwzględnić większy rozmiar nowej czcionki domyślnej. Na przykład:
Ta zmiana została wprowadzona w celu dostosowania do wytycznych dotyczących środowiska użytkownika systemu Windows.
Wprowadzona wersja
3.0
Zalecana akcja
Ze względu na zmianę rozmiaru formularzy i kontrolek upewnij się, że aplikacja jest poprawnie renderowana.
Aby zachować oryginalną czcionkę dla pojedynczego formularza, ustaw domyślną czcionkę na Microsoft Sans Serif 8.25 pt
. Na przykład:
public MyForm()
{
InitializeComponent();
Font = new Font(new FontFamily("Microsoft Sans Serif"), 8.25f);
}
Możesz też zmienić czcionkę domyślną dla całej aplikacji na jeden z następujących sposobów:
Ustawiając
ApplicationDefaultFont
właściwość MSBuild na "Microsoft Sans Serif, 8.25pt". Jest to preferowana technika, ponieważ umożliwia programowi Visual Studio używanie nowych ustawień w projektancie.<PropertyGroup> <ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont> </PropertyGroup>
Wywołując polecenie 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()); } }
Kategoria
- Windows Forms
Dotyczy interfejsów API
Brak.
Modernizacja folderuBrowserDialog
Kontrolka FolderBrowserDialog zmieniła się w aplikacjach Windows Forms dla platformy .NET Core.
Opis zmiany
W programie .NET Framework formularze systemu Windows używają następującego okna dialogowego dla kontrolki FolderBrowserDialog :
W programie .NET Core 3.0 windows Forms używa nowszej kontrolki opartej na modelu COM wprowadzonej w systemie Windows Vista:
Wprowadzona wersja
3.0
Zalecana akcja
Okno dialogowe zostanie automatycznie uaktualnione.
Jeśli chcesz zachować oryginalne okno dialogowe, ustaw FolderBrowserDialog.AutoUpgradeEnabled właściwość na wartość false
przed wyświetleniem okna dialogowego, jak pokazano na poniższym fragmentze kodu:
var dialog = new FolderBrowserDialog();
dialog.AutoUpgradeEnabled = false;
dialog.ShowDialog();
Kategoria
Windows Forms
Dotyczy interfejsów API
SerializableAttribute usunięto z niektórych typów formularzy systemu Windows
Element SerializableAttribute został usunięty z niektórych klas windows Forms, które nie mają znanych scenariuszy serializacji binarnej.
Opis zmiany
Następujące typy są ozdobione elementem SerializableAttribute w programie .NET Framework, ale atrybut został usunięty na platformie .NET Core:
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
Historycznie ten mechanizm serializacji miał poważne obawy związane z konserwacją i bezpieczeństwem. Obsługa SerializableAttribute
typów oznacza, że te typy muszą być testowane pod kątem zmian serializacji od wersji do wersji i potencjalnie zmian serializacji struktury do struktury. Utrudnia to rozwój tych typów i może być kosztowny do utrzymania. Te typy nie mają znanych scenariuszy serializacji binarnej, co minimalizuje wpływ usunięcia atrybutu.
Aby uzyskać więcej informacji, zobacz Serializacja binarna.
Wprowadzona wersja
3.0
Zalecana akcja
Zaktualizuj dowolny kod, który może zależeć od tych typów oznaczonych jako możliwe do serializacji.
Kategoria
Windows Forms
Dotyczy interfejsów API
- Brak
Przełącznik zgodności AllowUpdateChildControlIndexForTabControls nie jest obsługiwany
Przełącznik Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
zgodności jest obsługiwany w formularzach systemu Windows w programie .NET Framework 4.6 lub nowszych wersjach, ale nie jest obsługiwany na platformie .NET Core lub .NET 5.0 i nowszych wersjach.
Opis zmiany
W programie .NET Framework 4.6 lub nowszym wybierz kartę zmień kolejność kolekcji kontrolek. Przełącznik Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
zgodności umożliwia aplikacji pomijanie tej zmiany kolejności, gdy to zachowanie jest niepożądane.
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
- Brak
DomainUpDown.UseLegacyScrolling— przełącznik zgodności nie jest obsługiwany
Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
Przełącznik zgodności, który został wprowadzony w programie .NET Framework 4.7.1, nie jest obsługiwany w programie Windows Forms na platformie .NET Core lub .NET 5.0 lub nowszym.
Opis zmiany
Począwszy od programu .NET Framework 4.7.1, Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
przełącznik zgodności umożliwia deweloperom rezygnację z niezależnych DomainUpDown.DownButton() i DomainUpDown.UpButton() akcji. Przełącznik przywrócił starsze zachowanie, w którym DomainUpDown.UpButton() element jest ignorowany, jeśli tekst kontekstowy jest obecny, a deweloper musi używać DomainUpDown.DownButton() akcji w kontrolce przed akcją DomainUpDown.UpButton() . Aby uzyskać więcej informacji, zobacz Element AppContextSwitchOverrides>.<
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
Przełącznik zgodności DoNotLoadLatestRichEditControl nie jest obsługiwany
Switch.System.Windows.Forms.UseLegacyImages
Przełącznik zgodności, który został wprowadzony w programie .NET Framework 4.7.1, nie jest obsługiwany w programie Windows Forms na platformie .NET Core lub .NET 5.0 lub nowszym.
Opis zmiany
W programie .NET Framework 4.6.2 i poprzednich wersjach RichTextBox kontrolka tworzy wystąpienie kontrolki Win32 RichEdit w wersji 3.0 oraz dla aplikacji przeznaczonych dla programu .NET Framework 4.7.1 RichTextBox kontrolka tworzy wystąpienie biblioteki RichEdit w wersji 4.1 (w msftedit.dll). Przełącznik Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl
zgodności został wprowadzony w celu umożliwienia aplikacjom przeznaczonym dla programu .NET Framework 4.7.1 i nowszych wersji, aby zrezygnować z nowej kontrolki RichEdit w wersji 4.1 i użyć starej kontrolki RichEdit w wersji 3.
W wersjach .NET Core i .NET 5.0 i nowszych Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl
przełącznik nie jest obsługiwany. Obsługiwane są tylko nowe wersje kontrolki RichTextBox .
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
Przełącznik zgodności DoNotSupportSelectAllShortcutInMultilineTextBox nie jest obsługiwany
Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
Przełącznik zgodności, który został wprowadzony w programie .NET Framework 4.6.1, nie jest obsługiwany w systemach Windows Forms na platformie .NET Core i .NET 5.0 i nowszych wersjach.
Opis zmiany
Począwszy od programu .NET Framework 4.6.1, wybierając klawisz skrótu Ctrl + A w kontrolce zaznaczony TextBox cały tekst. W programie .NET Framework 4.6 i poprzednich wersjach wybranie klawisza skrótu Ctrl + A nie powiodło się, aby zaznaczyć cały tekst, jeśli pole tekstowe.ShortcutsEnabled i TextBox.Multiline właściwości zostały ustawione na true
wartość . Przełącznik Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
zgodności został wprowadzony w programie .NET Framework 4.6.1, aby zachować oryginalne zachowanie. Aby uzyskać więcej informacji, zobacz:TextBox.ProcessCmdKey.
W wersjach .NET Core i .NET 5.0 i nowszych Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
- Brak
Przełącznik zgodności DontSupportReentrantFilterMessage nie jest obsługiwany
Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
Przełącznik zgodności, który został wprowadzony w programie .NET Framework 4.6.1, nie jest obsługiwany w systemach Windows Forms na platformie .NET Core i .NET 5.0 i nowszych wersjach.
Opis zmiany
Począwszy od programu .NET Framework 4.6.1, Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
przełącznik zgodności rozwiązuje możliwe IndexOutOfRangeException wyjątki, gdy Application.FilterMessage komunikat jest wywoływany z implementacją niestandardową IMessageFilter.PreFilterMessage . Aby uzyskać więcej informacji, zobacz Środki zaradcze: Niestandardowe implementacje IMessageFilter.PreFilterMessage.
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
Przełącznik zgodności EnableVisualStyleValidation nie jest obsługiwany
Switch.System.Windows.Forms.EnableVisualStyleValidation
Przełącznik zgodności nie jest obsługiwany w aplikacjach Windows Forms na platformie .NET Core lub .NET 5.0 i nowszych wersjach.
Opis zmiany
W programie .NET Framework Switch.System.Windows.Forms.EnableVisualStyleValidation
przełącznik zgodności zezwolił aplikacji na rezygnację ze sprawdzania poprawności stylów wizualizacji podanych w postaci liczbowej.
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.EnableVisualStyleValidation
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
- Brak
Przełącznik zgodności UseLegacyContextMenuStripSourceControlValue nie jest obsługiwany
Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
Przełącznik zgodności wprowadzony w programie .NET Framework 4.7.2 nie jest obsługiwany w programie Windows Forms na platformie .NET Core lub .NET 5.0 i nowszych wersjach.
Opis zmiany
Począwszy od programu .NET Framework 4.7.2, Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
przełącznik zgodności umożliwia deweloperowi rezygnację z nowego zachowania ContextMenuStrip.SourceControl właściwości, która teraz zwraca odwołanie do kontroli źródła. Poprzednie zachowanie właściwości miało zwrócić wartość null
. Aby uzyskać więcej informacji, zobacz Element AppContextSwitchOverrides>.<
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
Przełącznik zgodności UseLegacyImages nie jest obsługiwany
Switch.System.Windows.Forms.UseLegacyImages
Przełącznik zgodności wprowadzony w programie .NET Framework 4.8 nie jest obsługiwany w programie Windows Forms na platformie .NET Core lub .NET 5.0 lub nowszym.
Opis zmiany
Począwszy od programu .NET Framework 4.8, Switch.System.Windows.Forms.UseLegacyImages
przełącznik zgodności rozwiązał możliwe problemy ze skalowaniem obrazów w scenariuszach technologii ClickOnce w środowiskach o wysokiej rozdzielczości DPI. Po ustawieniu true
wartości przełącznik umożliwia użytkownikowi przywrócenie starszego skalowania obrazów na ekranach o wysokiej rozdzielczości DPI, których skala jest ustawiona na większą niż 100%. Aby uzyskać więcej informacji, zobacz Informacje o wersji programu .NET Framework 4.8 w witrynie GitHub.
W programach .NET Core i .NET 5.0 lub nowszych Switch.System.Windows.Forms.UseLegacyImages
przełącznik nie jest obsługiwany.
Wprowadzona wersja
3.0
Zalecana akcja
Usuń przełącznik. Przełącznik nie jest obsługiwany i nie jest dostępna żadna alternatywna funkcja.
Kategoria
Windows Forms
Dotyczy interfejsów API
- Brak
Szablony About i SplashScreen są uszkodzone
Pliki About.vb
i SplashScreen.vb
generowane przez program Visual Studio zawierają odwołania do typów w My
przestrzeni nazw, które nie są dostępne .NET Core 3.0 i 3.1.
Wprowadzona wersja
3.0
Opis zmiany
Programy .NET Core 3.0 i 3.1 nie zawierają pełnej obsługi języka Visual Basic My
. Szablony formularzy About and SplashScreen w programie Visual Studio dla aplikacji Visual Basic Windows Forms odwołują się do właściwości typówMy.Application.Info
, które nie są dostępne.
Zalecana akcja
Ulepszono obsługę języka Visual Basic My
na platformie .NET 5, uaktualnij projekt do platformy .NET 5 lub nowszej.
— lub —
Napraw błędy kompilatora w typach About i SplashScreen w aplikacji. System.Reflection.Assembly
Użyj klasy , aby uzyskać informacje podane przez My.Application.Info
typ. W tym miejscu dostępny jest prosty port obu formularzy.
Napiwek
Jest to przykładowy kod i niezoptymalizowany. Lista atrybutów powinna być buforowana, aby skrócić czas ładowania formularza.
Informacje
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
Kategoria
Visual Basic Windows Forms
Dotyczy interfejsów API
Brak