PDA

View Full Version : سیو شدن مقدار در چک باکس ها بعد از بستن برنامه



sara_t
سه شنبه 22 فروردین 1391, 16:33 عصر
سلام دوستان
من یه چک باکس دارم که میخام کاربر یکی از گزینه های اونو تیک بزنه اما بعد از بسته شدن برنامه و دوباره باز شدن برنامه این تیک ها در چک باکسم بطور اتوماتیک منظور بشن . کاربر نخاد هر بار انتخاب کنه.
ممنون

omidamiry
سه شنبه 22 فروردین 1391, 16:49 عصر
باید از دیتا بیس استفاده کنی

hakim22
سه شنبه 22 فروردین 1391, 18:01 عصر
در قسمت setting (کلیک راست ، properties) پروژه متغیرهای Boolean با اسم مناسب بزار و هروقت چک باکس تغییر کرد تغییرات رو به اون متغیرهای انتقال بده.
برای ذخیره اونها هم از save setting استفاده کن.

موقعی هم که برنامه بالا میاد load setting هست و نسبت دادن مقادیر ذخیره شده در setting به چک باکس های مربوطه.

sara_t
سه شنبه 22 فروردین 1391, 18:17 عصر
ممنون
ایا از این روش استفاده کنم و بعد برنامه رو تو یه سیستم دیگه باز کنم بازم جواب میده یا فقط رو سیستمی که تنظیمات اعمال میشه جواب میده؟
اخه تو فروم خوندم این روش فقط رو سیستم مبدا جواب میده.

hakim22
سه شنبه 22 فروردین 1391, 18:25 عصر
تنظیمات setting درون registery ذخیره میشوند ولی آدرس به صورت اتوماتیک توسط دات نت انتخاب میشه. تنها مزیتش اینه که شما دردسر تنظیم و کار با کلاسهای رجیستری را ندارید.
پس خود بخود با رفتن به یک سیستم دیگه متغیرها باید دوباره در رجیستری ساخته شوند.
که شما اصلا با این بخش قضیه کار ندارید.
فقط لازم است یک مقدار پیشفرضی در برنامه در نظر بگیرید که بعد از انتقال برنامه به سیستم جدید برای بار اول که اجرا میشود آن مقادیر را نشان دهد.
بعد در قسمت لود فرم اصلی یا startup برنامه عملیات خواندن متغیرها را انجام دهید.
در قسمت shutdown هم عملیات ذخیره پارامترها را انجام دهید.
تا برنامه قبل از خروج آخرین تغییرات را ذخیره کند.

takgig
سه شنبه 22 فروردین 1391, 18:26 عصر
نه .

این روشی کهhakim22 (http://barnamenevis.org/member.php?244339-hakim22) جان گفتن اگر روی سیستم دیگه اجرا کنی تنظیمات ذخیره نمی مونه و باید برای هر سیستم یک بار جداگانه اعمال کی تا ذخیره بمونه.

hakim22
سه شنبه 22 فروردین 1391, 18:39 عصر
شما میتونی از اون قسمت رجیستری که این اطلاعات توش ذخیره میشه یک export بگیری و بعدا اونو راحت به هر جا که برنامه رفت ببری و تنظیمات رو اجرا کنی
اگر تعداد تنظیمات زیاد نیست یک بار به صورت پیشفرض مقادیر رو درون کد تنظیم کنید. بعد به همون روش که گفتم ذخیره کنید.

اگر تنظیمات زیاده و نمی خواهید از این روش به هر دلیلی استفاده کنید باید برید سراغ serialization و تعیرف یک کلاس جدید که property های اون لیست متغیرهایی است که قصد ذخیره ی آنها را دارید. بعد با استفاده از formatter به روش XML و از نوع text یا binary اینکارو انجام بدید که خیلی شلوغ میشه.

این روش آخر در مواقعی کاربرد داره که مثلا برنامه ی شما فایلهای مخصوص به خودش با پسوند خودش میسازه و شما می خواهید که این فایلها قابلیت ذخیره و بازیابی و ... رو داشته باشند. که فکر نمی کنم مورد استفاده ی شما باشه.

mrbm_2007
دوشنبه 28 فروردین 1391, 23:44 عصر
سلام
می تونی از این کنترل استفاده کنی
این کنترل بطور خودکار مقادیر چک باکس ها، تکست باکس ها، کومبوباکس ها و ... رو توی فایل کنار برنامه ذخیره می کنه و در هنگام باز کردن فرم همون مقادیر قبلی رو بطور خودکار اعمال می کنه
برای انتقال به سیستم های دیگه هم کافیه فقط این فایل مربوطه که کنار فایل برنامه ذخیره شده رو هم منتقل کنید
فقط کافیه کنترل مربوطه رو به فرم اضافه کنید و خاصیت container اون رو انتخاب کنید.
برای افزودن کنترل به فرم در قسمت Toolbox راست کلیک کنید و Chose Items... رو کلیک کنید و فایل dll ضمیمه شده رو انتخاب کنید (Browse). کنترل مربوطه به لیست Toolbox اضافه میشه