Nasıl yapılır: Uygulama Ayarları Oluşturma

Yönetilen kod kullanarak, bu ayarların çalışma zamanında yüklenip kaydedileceği şekilde, yeni uygulama ayarları oluşturabilir ve bunları formunuzdaki veya formunuzun denetimlerindeki özelliklere bağlayabilirsiniz.

Aşağıdaki yordamda, öğesinden türetilen bir sarmalayıcı sınıfı el ile oluşturursunuz ApplicationSettingsBase . Bu sınıfa, göstermek istediğiniz her uygulama ayarı için herkese açık olarak erişilebilen bir özellik eklersiniz.

bu yordamı, Visual Studio tasarımcısında minimum kod kullanarak da gerçekleştirebilirsiniz. ayrıca bkz. nasıl yapılır: tasarımcı kullanarak uygulama Ayarlar oluşturma.

program aracılığıyla Ayarlar yeni uygulama oluşturmak için

  1. Projenize yeni bir sınıf ekleyin ve yeniden adlandırın. Bu yordam için, bu sınıfı çağıracağız MyUserSettings . Sınıfın türemesi için sınıf tanımını değiştirin ApplicationSettingsBase .

  2. Bu sarmalayıcı sınıfında, ihtiyacınız olan her uygulama ayarı için bir özellik tanımlayın ve bu özelliği, ApplicationScopedSettingAttributeUserScopedSettingAttribute ayarın kapsamına bağlı olarak veya ya da ile uygulayın. ayarlar kapsamı hakkında daha fazla bilgi için bkz. uygulama Ayarlar genel bakış. Şimdi kodunuzun şöyle görünmesi gerekir:

    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. Uygulamanızda bu sarmalayıcı sınıfının bir örneğini oluşturun. Genellikle ana formun özel bir üyesi olur. Sınıfınızı tanımladığınıza göre, bu özelliği bir özelliğe bağlamanız gerekir; Bu durumda, BackColor formunuzun özelliği. Bunu formunuzun Load olay işleyicisinde yapabilirsiniz.

    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. Çalışma zamanında ayarları değiştirmek için bir yol sağlarsanız, formunuz kapandığında kullanıcının geçerli ayarlarını diske kaydetmeniz gerekir, aksi takdirde bu değişiklikler kaybolur.

    //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
    

    Yeni bir uygulama ayarını başarıyla oluşturdunuz ve belirtilen özelliğe bağladınız.

.NET Framework Güvenliği

Varsayılan ayar sağlayıcısı, LocalFileSettingsProvider yapılandırma dosyalarına düz metin olarak bilgi devam ettirir. Bu, geçerli kullanıcı için işletim sistemi tarafından belirtilen dosya erişim güvenliği ile güvenliği kısıtlar. Bu nedenle, yapılandırma dosyalarında depolanan bilgilerle ilgilenmelidir. Örneğin, uygulama ayarları için yaygın olarak kullanılan bir kullanım, uygulamanın veri deposuna işaret eden bağlantı dizelerini depokullanmaktır. Bununla birlikte, güvenlik sorunları nedeniyle, bu tür dizeler parolaları içermemelidir. Bağlantı dizeleri hakkında daha fazla bilgi için bkz SpecialSetting ..

Ayrıca bkz.