PDA

View Full Version : سوال: نگهداری اخرین انتخاب کومبو باکس



meitti
سه شنبه 14 آبان 1387, 07:45 صبح
سلام
من اگه یه کمبو باکس داشته باشم و از اون استفاده کنم و یه گزینه ای را انتخاب کنم و برنامه را ببندم و وقتی دوباره برنامه راباز کردم داخل کومبو من همان گزینه اخری باشه که من انتخاب کردم چی کار بایدبکنم

smt_414
سه شنبه 14 آبان 1387, 09:50 صبح
سلام

چندین شیوه وجود داره ،یکی از اونها استفاده از setting
شما لغت setting رو در سایت جستجو کنید ،داخل نتایج نمایش داده شده می تونید نحوه استفاده از اون رو ببینید



موفق باشید

(در صورتیکه بدلیل تکراری بودن سوال مدیران بخش بخوان این تاپیک رو حذف کنند ،بلامانع است موفق باشید)

KambizZandi
سه شنبه 14 آبان 1387, 09:55 صبح
ميتونيد از settings مربوط به پروژه استفاده کنيد
project properties -> settings رو بياريد و يک settings ايجاد کنيد
بعدش اونو در حالت user قرار بديد (scope)
در کد برنامه هم اينکارو انجام بديد:


lastPos = Settings.Default.LastPos;
...
Settings.Default.LastPos = combo.SelectedIndex;
Settings.Default.Save();

sardari
پنج شنبه 16 آبان 1387, 19:37 عصر
سلام
به جز راهی که دوستان گفتند راه دیگه ای هم هست یا نه ؟؟؟؟ واقعیت اینکه من این کد را امتحان کردم جواب نداد اگه ممکنه بیشتر راهنمایی کنید

h.jaza
پنج شنبه 16 آبان 1387, 20:16 عصر
KambizZandi (http://barnamenevis.org/forum/member.php?u=72243) جان، کدی که نوشتی رو منم نتونستم ازش سر در بیارم. اگر کامل تر مطرح کنی، ممنون می شم.

و sardari (http://barnamenevis.org/forum/member.php?u=50009)، فکر می کنم این راه خیلی ساده و البته در نوع خوش حرفه ای باشه. البته می تونی رجوع کنی به قدیم قدیم ها و اطلاعاتت رو زمانی که برنامت بسته میشه، تو یه فایل ذخیره کنی و بعد در زمان لود، اونارو فراخوانی کنی.

ولی این رو پیشنهاد نمی کنم. همون راه تنظیمات Settings فکر می کنم بهتر باشه.

meitti
پنج شنبه 16 آبان 1387, 20:36 عصر
البته می تونی رجوع کنی به قدیم قدیم ها و اطلاعاتت رو زمانی که برنامت بسته میشه، تو یه فایل ذخیره کنی و بعد در زمان لود، اونارو فراخوانی کنی.

.

سلام میشه این راهی را که گفتین به صورت کد بیان کنی ، حالا هر چی باشه برای کسب تجربه واسه من خوبه (اخه من هنوز تازه کارم )

h.jaza
پنج شنبه 16 آبان 1387, 21:05 عصر
مثلا برای تکست باکس میشه نوشت:



System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\Documents and Settings\ADMIN\My Documents\MySettings.txt", false, Encoding.UTF8);
sw.Write(textBox1.Text);
sw.Close();


این کد، یه فایل در My Documents به نام MySettings می سازه و اطلاعات داخل تکست باکس رو توش قرار میده. این کد رو در رویداد مربوط به خروج از برنامت باید بنویسی.

و بعد در رویداد لود فرم مربوطت می نویسی:



System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Documents and Settings\ADMIN\My Documents\MyُSettings.txt", Encoding.UTF8);
textBox1.Text = sr.ReadToEnd();
sr.Close();

اینجوری اطلاعات مربوط به تکست باکس، برمی گرده سر جاش بعد از باز و بسته شدن برنامه.

البته بازم میگم، همون راه استفاده کردن از Settings خیلی راحتر و ایمن تر هست.

سعی کن اون رو یاد بگیری و ازش استفاده بکنی.

یادت باشه: این ارتباطی به تازه کار بودن تو نداره، فقط به خواستن یا نخواستن تو ارتباط داره.

h.jaza
پنج شنبه 16 آبان 1387, 22:02 عصر
خوب، و اما راه بهتر و درست تر:

درSolution Explorer، روی اسم پروژه کلیک راست کن، Properties رو انتخاب کن و در بخش Settings یه item اضافه کن. (مثل عکس پیوست که من برای یه تکست باکس استفاده کردم)

بعد باید بری توی کدت و در رویداد خروج برنامت، تغییرات تکست باکس رو به اون item ای که ایجاد کردی، انتصاب بدی و ذخیرش کنی:



Properties.Settings.Default.MyTextBox = textBox1.Text;
Properties.Settings.Default.Save();

و بعد در رویداد لود برنامت هم فراخوانیش کنی:



textBox1.Text = Properties.Settings.Default.MyTextBox;

اینجوری اگر یه متنی در تکست باکست بنویسی، برنامت رو ببندی و دوباره باز کنی، اون متن رو خواهی دید.

برای اطلاعات تکمیلی به این (http://barnamenevis.org/forum/showthread.php?t=115109&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+Setting) این (http://msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx) لینک سر بزن.