Bagikan melalui


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

  1. Tambahkan kelas baru ke proyek Anda, dan ganti namanya. Untuk prosedur ini, kita akan memanggil kelas MyUserSettingsini . Ubah definisi kelas sehingga kelas berasal dari ApplicationSettingsBase.

  2. 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
    
  3. 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
    
  4. 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