Melanggar perubahan dalam Formulir Windows untuk .NET Core 3.0 dan 3.1
Formulir Windows dukungan ditambahkan ke .NET Core di versi 3.0. Artikel ini mencantumkan perubahan yang melanggar untuk Formulir Windows oleh versi .NET tempat perubahan tersebut diperkenalkan. Jika Anda meningkatkan aplikasi Formulir Windows dari .NET Framework atau dari versi .NET Core (3.0 atau yang lebih baru) sebelumnya, artikel ini berlaku untuk Anda.
Perubahan mencolok berikut ini didokumenkan di halaman ini:
.NET Core 3.1
Kontrol yang dihapus
Mulai dari .NET Core 3.1, beberapa kontrol Formulir Windows tidak lagi tersedia.
Deskripsi perubahan
Dimulai dengan .NET Core 3.1, berbagai kontrol Formulir Windows tidak lagi tersedia. Kontrol penggantian yang memiliki desain dan dukungan yang lebih baik diperkenalkan dalam .NET Framework 2.0. Kontrol yang tidak digunakan lagi sebelumnya dihapus dari kotak alat perancang tetapi masih tersedia untuk digunakan.
Jenis berikut ini tidak lagi tersedia:
- 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
Versi yang diperkenalkan
3.1
Tindakan yang direkomendasikan
Setiap kontrol yang dihapus memiliki kontrol penggantian yang direkomendasikan. Lihat tabel berikut:
Kontrol yang dihapus (API) | Penggantian yang direkomendasikan | API terkait yang dihapus |
---|---|---|
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 |
Kategori
Formulir Windows
API yang Terpengaruh
- 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
Peristiwa CellFormatting tidak dimunculkan jika tipsalat ditampilkan
Sekarang DataGridView memperlihatkan teks sel dan tipsalat kesalahan saat diarahkan kursor ke mouse dan saat dipilih melalui keyboard. Jika tipsalat ditampilkan, DataGridView.CellFormatting peristiwa tidak dinaikkan.
Deskripsi perubahan
Sebelum .NET Core 3.1, DataGridView properti yang diatur ShowCellToolTips untuk true
memperlihatkan tipsalat untuk teks dan kesalahan sel saat sel diarahkan oleh mouse. Tipsalat tidak ditampilkan saat sel dipilih melalui keyboard (misalnya, dengan menggunakan tombol Tab, tombol pintasan, atau navigasi panah). Jika pengguna mengedit sel, lalu, saat DataGridView masih dalam mode edit, arahkan mouse ke atas sel yang tidak memiliki ToolTipText kumpulan properti, CellFormatting peristiwa dinaikkan untuk memformat teks sel untuk ditampilkan dalam sel.
Untuk memenuhi standar aksesibilitas, mulai dari .NET Core 3.1, DataGridView yang memiliki ShowCellToolTips properti yang diatur untuk true
menampilkan tipsalat untuk teks dan kesalahan sel tidak hanya saat sel diarahkan, tetapi juga saat dipilih melalui keyboard. Sebagai konsekuensi dari perubahan ini, CellFormatting peristiwa tidak dimunculkan ketika sel yang tidak memiliki ToolTipText kumpulan properti diarahkan ke saat DataGridView berada dalam mode edit. Peristiwa tidak dinaikkan karena konten sel yang diarahkan ditampilkan sebagai tipsalat alih-alih ditampilkan dalam sel.
Versi yang diperkenalkan
3.1
Tindakan yang direkomendasikan
Refaktor kode apa pun yang bergantung pada CellFormatting peristiwa saat DataGridView berada dalam mode edit.
Kategori
Formulir Windows
API yang Terpengaruh
Tidak
.NET Core 3.0
Font kontrol default diubah menjadi Segoe UI 9 pt
Deskripsi perubahan
Di .NET Framework, Control.DefaultFont properti diatur ke Microsoft Sans Serif 8.25 pt
. Gambar berikut menunjukkan jendela yang menggunakan font default.
Mulai dari .NET Core 3.0, font default diatur ke Segoe UI 9 pt
(font yang sama dengan SystemFonts.MessageBoxFont). Akibat perubahan ini, formulir dan kontrol berukuran sekitar 27% lebih besar untuk memperhitungkan ukuran font default baru yang lebih besar. Contohnya:
Perubahan ini dilakukan untuk menyelaraskan dengan panduan pengalaman pengguna (UX) Windows.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Karena perubahan ukuran formulir dan kontrol, pastikan aplikasi Anda dirender dengan benar.
Untuk mempertahankan font asli untuk satu formulir, atur font defaultnya ke Microsoft Sans Serif 8.25 pt
. Contohnya:
public MyForm()
{
InitializeComponent();
Font = new Font(new FontFamily("Microsoft Sans Serif"), 8.25f);
}
Atau, Anda dapat mengubah font default untuk seluruh aplikasi dengan salah satu cara berikut:
Dengan mengatur
ApplicationDefaultFont
properti MSBuild ke "Microsoft Sans Serif, 8.25pt". Ini adalah teknik yang disukai karena memungkinkan Visual Studio menggunakan pengaturan baru di perancang.<PropertyGroup> <ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont> </PropertyGroup>
Dengan memanggil 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()); } }
Kategori
- Formulir Windows
API yang Terpengaruh
Tidak ada.
Modernisasi FolderBrowserDialog
Kontrol FolderBrowserDialog telah berubah dalam aplikasi Formulir Windows untuk .NET Core.
Deskripsi perubahan
Dalam .NET Framework, formulir Windows menggunakan dialog berikut untuk FolderBrowserDialog kontrol:
Di .NET Core 3.0, Formulir Windows menggunakan kontrol berbasis COM yang lebih baru yang diperkenalkan di Windows Vista:
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Dialog akan dimutakhirkan secara otomatis.
Jika Anda ingin mempertahankan dialog asli, atur FolderBrowserDialog.AutoUpgradeEnabled properti ke false
sebelum menampilkan dialog, seperti yang diilustrasikan oleh fragmen kode berikut:
var dialog = new FolderBrowserDialog();
dialog.AutoUpgradeEnabled = false;
dialog.ShowDialog();
Kategori
Formulir Windows
API yang Terpengaruh
SerializableAttribute dihapus dari beberapa jenis Formulir Windows
SerializableAttribute telah dihapus dari beberapa kelas Formulir Windows yang tidak memiliki skenario serialisasi biner yang diketahui.
Deskripsi perubahan
Jenis berikut dihiasi dengan SerializableAttribute dalam .NET Framework, tetapi atribut telah dihapus di .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
Secara historis, mekanisme serialisasi ini memiliki masalah pemeliharaan dan keamanan yang serius. Mempertahankan SerializableAttribute
jenis berarti jenis tersebut harus diuji untuk perubahan serialisasi versi-ke-versi dan kemungkinan perubahan serialisasi kerangka kerja ke kerangka kerja. Ini membuatnya lebih sulit untuk mengembangkan jenis-jenis tersebut dan dapat mahal untuk dipertahankan. Jenis-jenis ini tidak memiliki skenario serialisasi biner yang diketahui, yang meminimalkan dampak penghapusan atribut.
Untuk informasi selengkapnya, lihat Serialisasi biner.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Perbarui kode apa pun yang mungkin bergantung pada jenis ini yang ditandai sebagai dapat diserialisasikan.
Kategori
Formulir Windows
API yang Terpengaruh
- Tidak
Sakelar kompatibilitas AllowUpdateChildControlIndexForTabControls tidak didukung
Sakelar Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
kompatibilitas didukung di Formulir Windows pada .NET Framework 4.6 dan versi yang lebih baru tetapi tidak didukung pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Di .NET Framework 4.6 dan versi yang lebih baru, memilih tab menyusun ulang koleksi kontrolnya. Sakelar Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
kompatibilitas memungkinkan aplikasi untuk melewati pengubahan ulang ini ketika perilaku ini tidak diinginkan.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.AllowUpdateChildControlIndexForTabControls
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
- Tidak
Sakelar kompatibilitas DomainUpDown.UseLegacyScrolling tidak didukung
Sakelar Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
kompatibilitas, yang diperkenalkan dalam .NET Framework 4.7.1, tidak didukung di Formulir Windows pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dimulai dengan .NET Framework 4.7.1, Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
sakelar kompatibilitas memungkinkan pengembang untuk menolak independen DomainUpDown.DownButton() dan DomainUpDown.UpButton() tindakan. Sakelar memulihkan perilaku warisan, di mana DomainUpDown.UpButton() diabaikan jika teks konteks ada, dan pengembang diperlukan untuk menggunakan DomainUpDown.DownButton() tindakan pada kontrol sebelum DomainUpDown.UpButton() tindakan. Untuk informasi selengkapnya, lihat <elemen AppContextSwitchOverrides>.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
Sakelar kompatibilitas DoNotLoadLatestRichEditControl tidak didukung
Sakelar Switch.System.Windows.Forms.UseLegacyImages
kompatibilitas, yang diperkenalkan dalam .NET Framework 4.7.1, tidak didukung di Formulir Windows pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dalam .NET Framework 4.6.2 dan versi sebelumnya, RichTextBox kontrol membuat instans kontrol Win32 RichEdit v3.0, dan untuk aplikasi yang menargetkan .NET Framework 4.7.1, RichTextBox kontrol membuat instans RichEdit v4.1 (dalam msftedit.dll). Sakelar Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl
kompatibilitas diperkenalkan untuk memungkinkan aplikasi yang menargetkan .NET Framework 4.7.1 dan versi yang lebih baru untuk memilih keluar dari kontrol RichEdit v4.1 baru dan menggunakan kontrol RichEdit v3 lama sebagai gantinya.
Di .NET Core dan .NET 5.0 dan versi yang lebih baru, sakelar Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl
tidak didukung. Hanya versi baru kontrol yang RichTextBox didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
Sakelar kompatibilitas DoNotSupportSelectAllShortcutInMultilineTextBox tidak didukung
Sakelar Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
kompatibilitas, yang diperkenalkan di .NET Framework 4.6.1, tidak didukung di Formulir Windows pada .NET Core dan .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dimulai dengan .NET Framework 4.6.1, memilih tombol pintasan Ctrl + A dalam TextBox kontrol memilih semua teks. Di .NET Framework 4.6 dan versi sebelumnya, memilih tombol pintasan Ctrl + A gagal memilih semua teks jika Textbox.ShortcutsEnabled dan TextBox.Multiline properti keduanya diatur ke .true
Sakelar Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
kompatibilitas diperkenalkan dalam .NET Framework 4.6.1 untuk mempertahankan perilaku asli. Untuk informasi selengkapnya, lihat TextBox.ProcessCmdKey.
Di .NET Core dan .NET 5.0 dan versi yang lebih baru, sakelar Switch.System.Windows.Forms.DoNotSupportSelectAllShortcutInMultilineTextBox
tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
- Tidak
Sakelar kompatibilitas DontSupportReentrantFilterMessage tidak didukung
Sakelar Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
kompatibilitas, yang diperkenalkan di .NET Framework 4.6.1, tidak didukung di Formulir Windows pada .NET Core dan .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dimulai dengan .NET Framework 4.6.1, Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
sakelar kompatibilitas menangani kemungkinan IndexOutOfRangeException pengecualian ketika pesan dipanggil Application.FilterMessage dengan implementasi kustom IMessageFilter.PreFilterMessage . Untuk informasi selengkapnya, lihat Mitigasi: Implementasi IMessageFilter.PreFilterMessage Kustom.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.DontSupportReentrantFilterMessage
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
Sakelar kompatibilitas EnableVisualStyleValidation tidak didukung
Sakelar Switch.System.Windows.Forms.EnableVisualStyleValidation
kompatibilitas tidak didukung di Formulir Windows pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dalam .NET Framework, Switch.System.Windows.Forms.EnableVisualStyleValidation
sakelar kompatibilitas memungkinkan aplikasi untuk menolak validasi gaya visual yang disediakan dalam bentuk numerik.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.EnableVisualStyleValidation
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
- Tidak
Sakelar kompatibilitas UseLegacyContextMenuStripSourceControlValue tidak didukung
Sakelar Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
kompatibilitas, yang diperkenalkan di .NET Framework 4.7.2, tidak didukung di Formulir Windows pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dimulai dengan .NET Framework 4.7.2, Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
sakelar kompatibilitas memungkinkan pengembang untuk menolak perilaku ContextMenuStrip.SourceControl baru properti, yang sekarang mengembalikan referensi ke kontrol sumber. Perilaku properti sebelumnya adalah mengembalikan null
. Untuk informasi selengkapnya, lihat <elemen AppContextSwitchOverrides>.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
Sakelar kompatibilitas UseLegacyImages tidak didukung
Sakelar Switch.System.Windows.Forms.UseLegacyImages
kompatibilitas, yang diperkenalkan di .NET Framework 4.8, tidak didukung di Formulir Windows pada .NET Core atau .NET 5.0 dan yang lebih baru.
Deskripsi perubahan
Dimulai dengan .NET Framework 4.8, Switch.System.Windows.Forms.UseLegacyImages
sakelar kompatibilitas mengatasi kemungkinan masalah penskalaan gambar dalam skenario ClickOnce di lingkungan DPI tinggi. Ketika diatur ke true
, sakelar memungkinkan pengguna untuk memulihkan penskalakan gambar warisan pada tampilan DPI tinggi yang skalanya diatur ke lebih besar dari 100%. Untuk informasi selengkapnya, lihat Catatan Rilis .NET Framework 4.8 di GitHub.
Di .NET Core dan .NET 5.0 dan yang Switch.System.Windows.Forms.UseLegacyImages
lebih baru, sakelar tidak didukung.
Versi yang diperkenalkan
3.0
Tindakan yang direkomendasikan
Hapus sakelar. Sakelar tidak didukung, dan tidak ada fungsionalitas alternatif yang tersedia.
Kategori
Formulir Windows
API yang Terpengaruh
- Tidak
Templat Tentang dan SplashScreen rusak
File About.vb
dan SplashScreen.vb
yang dihasilkan oleh Visual Studio berisi referensi ke jenis di My
namespace layanan yang tidak tersedia .NET Core 3.0 dan 3.1.
Versi yang diperkenalkan
3.0
Deskripsi perubahan
.NET Core 3.0 dan 3.1 tidak berisi dukungan Visual Basic My
penuh. Templat formulir Tentang dan SplashScreen di Visual Studio untuk Visual Basic Formulir Windows properti referensi aplikasi dalam My.Application.Info
jenis yang tidak tersedia.
Tindakan yang direkomendasikan
Dukungan Visual Basic My
ditingkatkan di .NET 5, tingkatkan proyek Anda ke .NET 5 atau yang lebih baru.
-atau-
Perbaiki kesalahan pengkompilasi di jenis Tentang dan SplashScreen di aplikasi Anda. System.Reflection.Assembly
Gunakan kelas untuk mendapatkan informasi yang disediakan oleh jenis .My.Application.Info
Port lurus dari kedua bentuk tersedia di sini.
Tip
Ini adalah kode sampel dan tidak optimal. Daftar atribut harus di-cache untuk mengurangi waktu pemuatan formulir.
Tentang
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
Kategori
Formulir Windows Visual Basic
API yang Terpengaruh
Tidak