Cara: Membuat Pengaturan Aplikasi
Dengan menggunakan kode terkelola, Anda dapat membuat pengaturan aplikasi baru dan mengikatnya ke properti pada formulir atau kontrol formulir Anda, sehingga pengaturan ini dimuat dan disimpan secara otomatis pada waktu proses.
Dalam prosedur berikut, Anda membuat kelas pembungkus secara manual yang berasal dari ApplicationSettingsBase. Ke kelas ini, Anda menambahkan properti yang dapat diakses publik untuk setiap pengaturan aplikasi yang ingin Anda ekspos.
Anda juga dapat melakukan prosedur ini menggunakan kode minimal di perancang Visual Studio. Lihat juga Cara: Membuat Aplikasi Pengaturan Menggunakan Perancang.
Untuk membuat Aplikasi baru Pengaturan secara terprogram
Tambahkan kelas baru ke proyek Anda, dan ganti namanya. Untuk prosedur ini, kita akan memanggil kelas
MyUserSettings
ini . Ubah definisi kelas sehingga kelas berasal dari ApplicationSettingsBase.Tentukan properti pada kelas pembungkus ini untuk setiap pengaturan aplikasi yang Anda butuhkan, dan terapkan properti tersebut ApplicationScopedSettingAttribute dengan atau UserScopedSettingAttribute, tergantung pada cakupan pengaturan. Untuk informasi selengkapnya tentang cakupan pengaturan, lihat Gambaran Umum Pengaturan Aplikasi. Sekarang, kode Anda akan terlihat seperti ini:
using System; using System.Configuration; using System.Drawing; public class MyUserSettings : ApplicationSettingsBase { [UserScopedSetting()] [DefaultSettingValue("white")] public Color BackgroundColor { get { return ((Color)this["BackgroundColor"]); } set { this["BackgroundColor"] = (Color)value; } } }
Imports System.Configuration Public Class MyUserSettings Inherits ApplicationSettingsBase <UserScopedSetting()> _ <DefaultSettingValue("white")> _ Public Property BackgroundColor() As Color Get BackgroundColor = Me("BackgroundColor") End Get Set(ByVal value As Color) Me("BackgroundColor") = value End Set End Property End Class
Buat instans kelas pembungkus ini di aplikasi Anda. Biasanya akan menjadi anggota privat dari bentuk utama. Sekarang setelah Anda mendefinisikan kelas Anda, Anda perlu mengikatnya ke properti; dalam hal ini, BackColor properti formulir Anda. Anda dapat menyelesaikan ini di penanganan aktivitas formulir
Load
Anda.MyUserSettings mus; private void Form1_Load(object sender, EventArgs e) { mus = new MyUserSettings(); mus.BackgroundColor = Color.AliceBlue; this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor")); }
Dim Mus As MyUserSettings Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Mus = New MyUserSettings() Mus.BackgroundColor = Color.AliceBlue Me.DataBindings.Add(New Binding("BackColor", Mus, "BackgroundColor")) End Sub
Jika Anda menyediakan cara untuk mengubah pengaturan pada waktu proses, Anda harus menyimpan pengaturan pengguna saat ini ke disk ketika formulir Anda ditutup, atau perubahan ini akan hilang.
//Make sure to hook up this event handler in the constructor! //this.FormClosing += new FormClosingEventHandler(Form1_FormClosing); void Form1_FormClosing(object sender, FormClosingEventArgs e) { mus.Save(); }
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Mus.Save() End Sub
Anda sekarang telah berhasil membuat pengaturan aplikasi baru dan mengikatnya ke properti yang ditentukan.
Contoh berikut menunjukkan file pengaturan aplikasi yang menentukan dua pengaturan cakupan aplikasi dan dua pengaturan yang dilingkup pengguna. Anda perlu menambahkan nama untuk pengaturan yang Anda buat sebagai entri di bawah <elemen configSections> di bagian atas file.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
</sectionGroup>
</configSections>
<applicationSettings>
<WindowsApplication1.Properties.Settings>
<setting name="Cursor" serializeAs="String">
<value>Default</value>
</setting>
<setting name="DoubleBuffering" serializeAs="String">
<value>False</value>
</setting>
</WindowsApplication1.Properties.Settings>
</applicationSettings>
<userSettings>
<WindowsApplication1.Properties.Settings>
<setting name="FormTitle" serializeAs="String">
<value>Form1</value>
</setting>
<setting name="FormSize" serializeAs="String">
<value>595, 536</value>
</setting>
</WindowsApplication1.Properties.Settings>
</userSettings>
</configuration>
Keamanan .NET Framework
Penyedia pengaturan default, LocalFileSettingsProvider, menyimpan informasi ke file konfigurasi sebagai teks biasa. Ini membatasi keamanan untuk keamanan akses file yang disediakan oleh sistem operasi untuk pengguna saat ini. Karena itu, perawatan harus diambil dengan informasi yang disimpan dalam file konfigurasi. Misalnya, salah satu penggunaan umum untuk pengaturan aplikasi adalah menyimpan string koneksi yang menunjuk ke penyimpanan data aplikasi. Namun, karena masalah keamanan, string tersebut tidak boleh menyertakan kata sandi. Untuk informasi selengkapnya tentang string koneksi, lihat SpecialSetting.
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk