Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilen kodu kullanarak yeni uygulama ayarları oluşturabilir ve bunları formunuzun veya formunuzun denetimlerinde bulunan özelliklere bağlayabilirsiniz; böylece bu ayarlar çalışma zamanında otomatik olarak yüklenir ve kaydedilir.
Aşağıdaki yordamda, ApplicationSettingsBase'den türetilmiş olan bir sarmalayıcı sınıfı el ile oluşturursunuz. Bu sınıfa, kullanıma açmak istediğiniz her uygulama ayarı için genel olarak erişilebilir 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 yeni Uygulama Ayarları oluşturmak için
Projenize yeni bir sınıf ekleyin ve yeniden adlandırın. Bu yordam için bu sınıfı
MyUserSettingsolarak adlandıracağız. Sınıfın ApplicationSettingsBase'dan türetilmesi için sınıf tanımını değiştirin.Bu sarmalayıcı sınıfında ihtiyacınız olan her uygulama ayarı için bir özellik tanımlayın ve ayarın kapsamına bağlı olarak bu özelliği ApplicationScopedSettingAttribute veya UserScopedSettingAttributeile uygulayın. Ayarlar kapsamı hakkında daha fazla bilgi için bkz. Uygulama Ayarlarına Genel Bakış. Kodunuz şu şekilde görünmelidir:
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 olacaktır. Artık sınıfınızı tanımladığınıza göre, bunu bir özelliğe bağlamanız gerekir; bu durumda, formunuzun BackColor özelliği. Bunu formunuzun
Loadolay işleyicisinde gerçekleştirebilirsiniz.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 SubŞimdi başarıyla yeni bir uygulama ayarı oluşturdunuz ve bunu belirtilen özelliğe bağladınız.
Aşağıdaki örnekte, iki uygulama kapsamlı ayarı ve iki kullanıcı kapsamlı ayarı tanımlayan bir uygulama ayarları dosyası gösterilmektedir. Oluşturduğunuz ayarların adlarını, dosyanın üst kısmındaki <configSections> öğesinin altına girdi olarak eklemeniz gerekir.
<?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>
.NET Framework Güvenliği
LocalFileSettingsProvidervarsayılan ayar sağlayıcısı, bilgileri yapılandırma dosyalarına düz metin olarak kaydeder. Bu, güvenliği geçerli kullanıcı için işletim sistemi tarafından sağlanan dosya erişim güvenliğiyle sınırlar. Bu nedenle, yapılandırma dosyalarında depolanan bilgilerle dikkatli olunmalıdır. Örneğin, uygulama ayarlarının yaygın kullanımlarından biri, uygulamanın veri deposuna işaret eden bağlantı dizelerini depolamaktır. Ancak, güvenlik endişeleri nedeniyle, bu tür dizeler parola içermemelidir. Bağlantı dizeleri hakkında daha fazla bilgi için bkz. SpecialSetting.
Ayrıca bakınız
.NET Desktop feedback