PDA

View Full Version : سوال: ذخیره ایتم های اضافه شده به کمبو باکس ....



rezarko
دوشنبه 18 اردیبهشت 1391, 21:48 عصر
سلام دوستان . چه جوری میشه ایتم هایی رو که کاربر در حالی که برنامه در حال اجرا هست به کمبو باکس اضافه میکنه رو در کمبو باکس ذخیره کرد؟
ممنون.

arash ghafori
دوشنبه 18 اردیبهشت 1391, 23:19 عصر
comboBox1.Items.Add (ComboBox1.text); این کار میکنه ، اما وقتی از برنامه مییای بیرون دوباره میری تو ، مقداراش پاک میشه !!!!

واسه این ک پاک نشه باید مقداراش رو یا روی فایل یا روی بانک ذخیره کنی تا از اونجا بخونه و به لیستش اضافه کنه !
که ای مشکلو خودمم دارم . :دی

rezarko
چهارشنبه 31 خرداد 1391, 08:40 صبح
نه از دیتا بیس استفاده نمیکنم

Y_Safaiee
چهارشنبه 31 خرداد 1391, 08:57 صبح
با سلام خدمت شما

به نظر من دوتا راه حل داری

1.داخل یک فایل ذخیره کنی و هربار که فرم لود میشه فایل رو بخونی و به کمبوباکست اضافه کنی,اینطوری :



private void Form2_Load(object sender, EventArgs e)
{
StreamReader fs = new StreamReader("c:\\item.itm");

while (!fs.EndOfStream)
{
comboBox1.Items.Add(fs.ReadLine());
}
fs.Close();
}

private void button1_Click(object sender, EventArgs e)
{
StreamWriter fs = new StreamWriter("c:\\item.itm", true);
fs.WriteLine(textBox1.Text);
fs.Close();
comboBox1.Items.Add(textBox1.Text);

}


2.تو Setting خود سی شارپ ذخیره کنی و در واقع داخلی باشه

موفق باشی
بای بایت

rezarko
جمعه 02 تیر 1391, 16:15 عصر
میشه در مورد استفاده از Setting توضیح بدید یا یه مثال بزنید.
ممنون

rezarko
یک شنبه 04 تیر 1391, 15:33 عصر
کسی نیست راهنمایی کنه؟

salehsam
دوشنبه 20 خرداد 1392, 19:41 عصر
سلام
کسی جوابی نداره؟

tooraj_azizi_1035
دوشنبه 20 خرداد 1392, 21:30 عصر
private void Form1_Load(object sender, EventArgs e)
{
if (Settings.Default.cboCollection != null)
this.comboBox1.Items.AddRange(Settings.Default.cbo Collection.ToArray());
}


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
ArrayList arraylist = new ArrayList(this.comboBox1.Items);
Settings.Default.cboCollection = arraylist;
Settings.Default.Save();
}

veniz2008
دوشنبه 20 خرداد 1392, 21:54 عصر
سلام.
من با استفاده از setting ، مراحل رو توضیح میدم:
فرض کنید بصورت دستی چند آیتم را به کمبو وارد کرده اید ( یعنی از جدول استفاده نکرده باشیم). حال یک متغیرsetting و از نوع رشته ای به نام Reshte تعریف کنید.یک تکست باکس برای نوشتن نام جدید بگذارید. کدهای زیر را قرار دهید:
در فرم لود :


string mysetting = Properties.Settings.Default.Reshte;
if (mysetting.Length > 0)
{
string[] columns = mysetting.Split(',');
foreach (string st in columns)
{
if(!string.IsNullOrEmpty(st))
comboBox1.Items.Add(st);
}
}

درون دکمه اضافه کردن آیتم جدید هم کدهای زیر را قرار دهید:


Properties.Settings.Default.Reshte += textBox1.Text.Trim() +",";
Properties.Settings.Default.Save();
comboBox1.Items.Add(textBox1.Text.Trim());