PDA

View Full Version : سوال:ریختن اطلاعات از یک فرم به لیست باکسی از یک فرم دیگه بدون پاک شدن بقیه اطلاعات فرم دوم



jam-shafaq
پنج شنبه 07 مهر 1390, 12:50 عصر
لطفا کمک کنید میخوام کاربر تو فرم2 یه رادیوباتن رو انتخاب کنه بعدرشته ای مرتبط بااون تولیست باکسی توفرم1 نمایش داده بشه اما وقتی فرم1 دوباره باز میشه بقیه اطلاعاتی که توش وارد شده از بین میره خواهش میکنم راهنمایی کنید

Abolfazl.programmer
پنج شنبه 07 مهر 1390, 14:24 عصر
سلام
من همین امروز یک راه برای ارسال مقادیر بین فرم ها پیدا کردم.اما شاید دوستان راه های بهتری بلد باشن.
اول تو رویداد لود فرم 2 یک متغیر از نوع استرینگ برای متنی که باید در فرم 1 نمایش داده بشه مطابق کد بسازید:public static string name بجای نام نام دلخواهتون رو بنویسید.
بعد تو رویداد checked رادیوباتن متن داخل متغیر رو تغییر بدید.
توی فرم یک و در رویداد کلیک یک باتن یا توی لود فرم متغیری را که در فرم 2 ساخته اید رو فراخوانی کنید.مثل زیر:
TextBox1.text=Form2.Variable
بجای Variable نام متغیر رو بنویسید.

Abolfazl.programmer
پنج شنبه 07 مهر 1390, 14:35 عصر
بازم سلام
یادم رفت بگم که برای اینکه اطلاعات توی لیست باکس ها پاک نشه یا میتونید اطلاعات رو توی بانک ذخیره کنید یا میتونید فرم هارو نبندید.برای جابجا شدن هم بجای بستن فرم که باعث بسته شدن کلاس فرم و از بین رفتن متغیر ها میشه میتونید فوکس فرم ها رو تغییر بدید.مثلا اول فرم 1 که اومد اونو نبندید و فرم2 رو فراخوانی کنید و بعد هم همینطور برای فرم 2.
اینا رو من امروز با ور رفتن با سی شارپ فهمیدم.اگه دوستان راه دیگری میدونند لطفا راهنمایی کنند.

nilmil_nil
پنج شنبه 07 مهر 1390, 14:39 عصر
سلام
به جای استفاده از Close برای بستن فرم , ShowDialog برای نمایش فرم به ترتیب از Form.Hide و Form.Show استفاده کنید

مرتضی تقدمی
پنج شنبه 07 مهر 1390, 16:40 عصر
سلام
توی رویداد دکمه رفتن به فرم 2 :


Form2 f = new Form2();
if (f.ShowDialog == System.Windows.Forms.DialogResult.OK)
{
ListBox1.Items.Add(f.ret);
}


در فرم 2 اینها رو اضافه کنید :



string str = null;
public string ret()
{
return str();
}

وقتی رو رادیو کلیک شد, str رو مقدار مورد نظر بدهید.


تو رویداد دکمه بازگشت فرم2 :



this.DialogResult == System.Windows.Forms.DialogResult.OK
این برای موقعی هست که می خواین چک کنین اگه کاربر دکمه ok رو زد, اون مقدار به لیست اضافه بشه و در غیر اینصورت اضافه نشه.
موفق باشید