ذخیره تنظیمات یک برنامه دسکتاپ در دات نت


در اکثر برنامه های دسکتاپ، قسمتی به عنوان تنظیمات (Settings، Options یا Preferences) در نظر گرفته می شود تا کاربران امکان تنظیم اجزای مختلف برنامه را بر اساس سلیقه یا نیاز خود داشته باشند. در دات نت فریم ورک قابلیتی به نام Settings وجود دارد که شما با استفاده از آن می توانید تنظیمات برنامه خود را در یک فایل به نام App.config در کنار برنامه خود ذخیره کنید. Settings می تواند شامل مقادیر مختلفی باشد که برنامه شما برای به یادآوردن ترجیحات کاربران و تنظیم قسمت های مختلفش به آن ها نیاز دارد. به طور مثال می توانید تغییراتی که کاربر در ظاهر برنامه می دهد (مثل اندازه پنجره و تم برنامه) یا رشته اتصال به دیتابیس را درون فایل App.config ذخیره کنید و هر بار هنگام اجرای برنامه این فایل را بخوانید و تنظیمات کاربر را اعمال کنید.

برای استفاده از قابلیت Settings، در ویژاول استادیو از Solution Explorer بر روی پروژه خود کلیلک راست کنید و گزینه Properties را برگزنید (و یا از پوشه Properties پروژه خود فایل Settings.settings را باز کنید). اگر در تب Settings نیستید، به تب Settings بروید. حالا باید چیزی شبیه به تصویر زیر را ببینید که Settings Designer نام دارد.

Settings Designerهمانطور که مشاهده می کنید هر Setting دارای 4 خصوصیت است :

  • Name : نامی است که در کدنویسی برای دستیابی به مقدار ذخیره شده در این Setting مورد استفاده قرار می گیرد.
  • Type : نوع مقداری است که قرار است در این Setting ذخیره شود. در اینجا تمام نوع های داده ای دات نت فریم ورک پشتیبانی می شوند. به طور مثال شما می توانید رنگ پس زمینه یک پنجره را با توع System.Color ذخیره کنید.
  • Scope : نحوه دستیابی به یک Setting را در زمان اجرا کنترل می کند. اگر از نوع User انتخاب شود، مقدار هم خواندنی است و هم نوشتنی اما اگر از نوع Application در نظر بگیرید،مقدار Setting فقط خواندنی است و از طریق کدنویسی و در حال اجرا غیر قابل تغییر است.
  • Value : مقداری است که هنگام دستیابی به Setting برگردانده خواهد شد. این مقدار باید از همان نوعی باشد که در Type مشخص شده است.

پس از مشخص کردن Settingهای مورد نیاز برنامه خود، می توانید از طریق کد به آن ها دسترسی داشته باشید. در سی شارپ برای دسترسی به این تنظیمات از طریق کد باید از فضای نام Properties استفاده کنید. تمام تنظیماتی که مشخص کرده اید از طریق Properties.Settings.Default در کدنویسی قابل دسترسی اند و IntelliSense آن ها را می شناسد و به شما نشان می دهد. تمام آن ها از نوع مشخصی برخوردار هستند و به اصطلاح Strongly typed هستند.

فرض می کنیم یک Setting به نام Title از نوع String ساخته اید که عنوان پنجره اصلی برنامه شما را در خود ذخیره می کند. برای خواندن آن به صورت زیر کد می نویسیم :

this.Title = Properties.Settings.Default.Title;

و برای ذخیره مقدار ورودی کاربر در این Setting به صورت زیر عمل می کنیم :

Properties.Settings.Default.Title = txtTitle.Text;

Properties.Settings.Default.Save();

بدون صدا زدن متد Save تغییرات درون فایل ذخیره نخواهد شد. فقط به این نکته توجه داشته باشید که Settingهایی که دارای محدوده Application هستند را نمی توانید به صورت کد نویسی تغییر دهید. این نوع تنظیمات فقط از طریق Setting Designer یا تغییر دستی مقدار آن ها در یک ویرایشگر متن قابل تغییر هستند.

استفاده از چند فایل تنظیمات

در بعضی موارد ممکن است برنامه شما به جای یک فایل تنظیمات نیاز به چند فایل تنظیمات داشته باشد. در این مواقع شما می توانید در ویژوال استادیو روی پروژه خود کلیک راست کنید و گزینه Add New item را انتخاب کنید و به دنبال Settings File بگردید. یک نام به جز Settings مثلاً MyNewSettings را برای آن مشخص کنید و دکمه Add را بزنید تا به پروژه شما اضافه شود. حالا به جای Properties.Settings برای دسترسی به تنظیمات فایل جدید از Properties.MyNewSettings استفاده کنید. همین!

farasun.wordpress.com

پ.ن : وبلاگ جدیدی ساختم با عنوان سافتینگ، که نقل قول های مربوط به برنامه نویسی و توسعه نرم افزار را در آن منتشر خواهم کرد. می توانید از اینجا یا اینجا مشترک فید آن شوید. بدیهی است که سرعت آپدیت آن وبلاگ به علت مینیمال بودن از این وبلاگ بسیار سریع تر خواهد بود!

Advertisements