چگونه تنظیمات کاربر در برنامه ای که با C# نوشتهایم را جایی ذخیره کنیم؟
هر برنامهای که نوشته میشود، تنظیماتی دارد که کاربر آنها را تنظیم میکند و انتظار دارد در مراجعات و اجراهای بعدی تنظیمات مورد نظرش روی برنامه دیده شود.
مثلاً ممکن است زبان برنامه یا قالب آن را تغییر دهد…
موضوع این است که ما به عنوان برنامهنویس، این تنظیمات را باید در کجا ذخیره کنیم تا در مراجعات بعدی بدانیم کاربر چه تنظیامتی را قبلاً در نظر گرفته؟
طبیعتاً دیتابیسهایی مثل Access برای این کار مناسب نیستند، چون یک سطر بیشتر داده نداریم. بد نیست بدانید، خود Visual Studio راههایی برای این کار در نظر گرفته است:
دو راه کلی برای این کار وجود دارد:
۱- ذخیره سازی در رجیستری (که اکیداً پیشنهاد شده است از این روش استفاده نکنید، و موضوع بحث ما هم این نیست)
۲- ذخیره سازی در فایل user.config که به این روش در اصطلاح Application Settings گفته میشود.
در روش دوم، اطلاعات به شکل XML در فایلی در کنار فایل اجرایی برنامه شما ذخیره میشود.
توضیحات بیشتر در مورد Application Settings:
http://msdn.microsoft.com/en-us/library/a65txexh%28v=VS.100%29.aspx
۱- اضافه کردن Application Settings:
فرض کنید میخواهید انتخاب کاربر در یک comboBox را ذخیره کنید.
– روی comboBox (و یا هر کنترل دیگری که میخواهید تنظیماتش ذخیره شود) کلیک کنید.
– در پنجره Properties در بخش Data گزینه (Application Settings) را باز کنید و در مقابل (PropertyBinding) روی دکمه مشخص شده کلیک کنید:
– تصمیم بگیرید که کدام یک از صفات این کنترل باید ذخیره شود یا خوانده شود. مثلاً در مورد comboBox طبیعتاً مقدار صفت Text مهم است. بنابراین، در مقابل Text منوی پایینافتادنی را باز کنید:
– در پنجرهای که باز میشود، اگر مقدار پیشفرضی باید در اولین اجرای برنامه در نظر گرفته شود، آنرا در مقابل DefaultValue وارد کنید.
– یک نام یکتا برای این صفت خاص در نظر بگیرید.
– مقدار Scope را روی User تنظیم کنید. (توجه اگر روی Application تنظیم کنید، فقط در زمان برنامه نویسی قابل تغییر است و در زمان اجرا، Read-only خواهد بود. پس حتماً روی User در نظر بگیرید چرا که کاربر باید اینها را هر بار تغییر دهد)
– مرحله ایجاد، تمام شد.
توضیحات بیشتر:
http://msdn.microsoft.com/en-us/library/25zf0ze8.aspx
۲- دسترسی به تنظیمات:
برای تغییر یا خواندن تنظیمات، از قطعه کد زیر استفاده کنید:
Properties.Settings.Default.lang = “مقدار جدید”;
سپس با قطعه کد زیر، اطلاعات را در فایل، ذخیره کنید:
Properties.Settings.Default.Save();
توضیحالت بیشتر:
http://msdn.microsoft.com/en-us/library/bb397755.aspx
۳- حذف Application Settings:
برای حذف تنظیمات یک فیلد، از منوی Project گزینه Project Properties را انتخاب کنید. سپس به بخش Settings بروید. در آنجا هم میتوانید تنظیمات خاصی را حذف و هم اضافه و ویرایش کنید…
نکته: برای اینکه بهتر این مورد رو متوجه بشید آرکد یک فیلم آموزشی هم براتون میسازم و آپلود میکنم. البته این رو هم بگم که کلا اونجا با کد نویسی کار میکنم تا قابل درکتر باشه براتون.
موفق باشید؛
سلام.
برای ذخیره کردن پسورد هم خوبه؟؟ و آیا امکان داره که اطلاعات رو بصورت هش و یا رمزنگاری ذخیره کرد در روش Application Settings؟؟؟؟
سلام وقت بخیر.
برا ذخیره پسورد نه بهتره روش های جایگزین رو استفاده کنید.
امکان داره ذخیره کنید ولی کلا روش دیگه ای استفاده کنید.