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
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 .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 ClassUygulamanı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
Loadolay 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Ç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 SubYeni 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 ..