PDA

View Full Version : باز کردن نمونه ای از فرم که قبلا باز شده با همه تغییراتی که در آن داده شده



kamiloted
سه شنبه 22 تیر 1395, 12:57 عصر
سلام دوستان.
شاید عنوان خوبی نباشه اما با توضیحاتم امیدوارم متوجه بشید.
من یه فرم فروش دارم.تو فرم فروش میزنم رو دکمه انتخاب محصول و فرم محصول باز میشه و سپس تو فرم باز شده که فرم محصول هست جستجو میکنم مثلا نمک و نمک بالا میاد و اون رو به فرم فروش انتقال میدم.تا اینجا هیچ مشکلی نیست.حال من میخوام یه بار دیگه که فرم محصول باز کردم همون عبارت جستجو شده قبل رو که نمک بود نمایش داده بشه
باید چکار کنم دوستان.؟
ممنونم از همگی

mn_acer1
سه شنبه 22 تیر 1395, 14:46 عصر
سلام
اگه درست متوجه شده باشم میتونی اطلاعاتی که مد نظرت هست رو تو یه فایل تکست ذخیره کنی بعد دفعه بعدی که فرم محصولت داره باز میشه چک کنه اگه اون فایل وجود داشت اون اطلاعات رو نمایش بده.
بهتر از اون اگر نتایج رو با دیتابیس اکسس مثلا داری نمایش میدی که فقط مثلا اون عنوان "نمک" رو یه جا ذخیره کن بعد هر دفعه فرم محصول نمایش داده میشه اون عنوان رو جستجو کنه.

Mahmoud.Afrad
سه شنبه 22 تیر 1395, 14:59 عصر
نمونه ای از فرم محصول رو در سطح فرم فروش قرار بدید و هر بار همان نمونه را نمایش بدید.

kamiloted
سه شنبه 22 تیر 1395, 22:59 عصر
دوستان اگه ممکنه تکه کدشو برام بزارید ممنون میشم

ژیار رحیمی
چهارشنبه 23 تیر 1395, 01:54 صبح
روش کار به روش جناب افراد
در فرم فاکتور یه متغییر از نوع فرم کالا ها تعریف میکنی تو رویداد دکمه چک میکنی اگه متغییر فرم null بود نمونه سازیش میکنی و غیر اینصورت فرم انتخاب محصولات رو نمایش میدی .نکته فرم انتخاب محصولات رو نباید Close کنی باید موقع بازگشت از متد Hide استفاده کنی.چون با متد Close متغییر در سطح فرم فاکتور مجدد null میشود

private FrmMahsolat _frmMahsolat;
private void btnShow_Click(object sender, EventArgs e)
{
if (_frmMahsolat == null)
_frmMahsolat = new frmMahsolat();
_frmMahsolat.ShowDialog();


}

kamiloted
چهارشنبه 23 تیر 1395, 13:17 عصر
ممنونم از همگی به ویژه ژیار جان.

یا من نبودم درست قرار بدم تو برنامم.یا کد اون چیزی نبود که من میخوام.
اگه ممکنه بیشتر راهنمایی کنید.ممنونم

R2du-soft
جمعه 01 مرداد 1395, 18:18 عصر
با سلام
در فرمی که دارم یک دکمه هست و یک تکست باکس یه مقادیری داخل تکست باکس هست،حالا زمانی که من روی دکمه درون فرمم کلیک میکنم دستورات زیر اجرا میشه:


Antivirus Antivirus = new Antivirus();
this.Visible = false;
Antivirus.Show();


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


MainForm MainForm = new MainForm();
MainForm.Visible = true;
this.close();


اما زمانی که به فرم اول برمیگردم اطلاعات درون تکست باکسم پاک شده،راهی نیست که این اطلاعات از بین نره؟بجز ذخیره و مجدد لود کردنش؟

در VB6 من از خاصیتVisible مثل: MainForm.Visible = true; استفاده میکردم برای مخفی و نمایش مجدد فرم و اطلاعات درون فرمم از بین نمیرفت،در C#‎‎‎‎‎‎‎ چه راهی برای از بین نرفتن اطلاعات با مخفی و نمایش مجدد فرم هست؟

Mahmoud.Afrad
جمعه 01 مرداد 1395, 19:01 عصر
شما دارید نمونه ای جدید از فرم اصلی ایجاد میکنید که با نمونه ای که مخفی شده متفاوت هست.

میتونید از متد ShowDialog استفاده کنید به این صورت که قبل از این متد فرم جاری رو مخفی و بعد از این متد فرم جاری رو نمایش بدید. در این حالت با بسته شدن فرم دوم فرم قبلی نمایش داده میشه
Antivirus Antivirus = new Antivirus();
this.Hide();
Antivirus.ShowDialog();
this.Show();
در دکمه بازگشت فقط کد زیر لازمه
this.Close();



اگر از متد Show میخواهید استفاده کنید کافیه Owner را ست کنید
Antivirus Antivirus = new Antivirus();
Antivirus.Owner = this;
this.Hide();
Antivirus.Show();
و در فرم دوم در دکمه بازگشت ، Owner رو نمایش بدید
if (this.Owner != null)
this.Owner.Show();
this.Close();

kamiloted
شنبه 02 مرداد 1395, 13:16 عصر
دوستان کسی نیست بنده رو راهنمایی کنه.

Mahmoud.Afrad
شنبه 02 مرداد 1395, 19:16 عصر
دوستان کسی نیست بنده رو راهنمایی کنه.

جوابتون رو آقای ژیار رحیمی (http://barnamenevis.org/member.php?48557-%DA%98%DB%8C%D8%A7%D8%B1-%D8%B1%D8%AD%DB%8C%D9%85%DB%8C) دادند. اگر هنوز مشکلی دارید زحمت بکش کدتو بزار.

kamiloted
شنبه 02 مرداد 1395, 23:45 عصر
جوابتون رو آقای ژیار رحیمی (http://barnamenevis.org/member.php?48557-%DA%98%DB%8C%D8%A7%D8%B1-%D8%B1%D8%AD%DB%8C%D9%85%DB%8C) دادند. اگر هنوز مشکلی دارید زحمت بکش کدتو بزار.
سلام.
کد آقای ژیار رحیمی (http://barnamenevis.org/member.php?48557-%DA%98%DB%8C%D8%A7%D8%B1-%D8%B1%D8%AD%DB%8C%D9%85%DB%8C) درست هست.

من فرم محصول رو که باز میکنم و در تکست باکس جستجو مینویسم ماکارونی و ماکارانی در دیتا گرید جستجو میشه و من اون رو انتخاب میکنم و فرم محصول hide میشه و سری بعد که فرم محصول رو فراخوانی میکنم فقط عبارت تکست باکس وجود داره.
من میخوام تنها همون عبارت ماکارونی توی سری بعد توی دیتاگرید نشون بده و همچنین full row select روی ماکارونی باشه.
ممنونم راهنمایی کنید.

reza_ali202000
یک شنبه 03 مرداد 1395, 03:05 صبح
سلام.
کد آقای ژیار رحیمی (http://barnamenevis.org/member.php?48557-%DA%98%DB%8C%D8%A7%D8%B1-%D8%B1%D8%AD%DB%8C%D9%85%DB%8C) درست هست.

من فرم محصول رو که باز میکنم و در تکست باکس جستجو مینویسم ماکارونی و ماکارانی در دیتا گرید جستجو میشه و من اون رو انتخاب میکنم و فرم محصول hide میشه و سری بعد که فرم محصول رو فراخوانی میکنم فقط عبارت تکست باکس وجود داره.
من میخوام تنها همون عبارت ماکارونی توی سری بعد توی دیتاگرید نشون بده و همچنین full row select روی ماکارونی باشه.
ممنونم راهنمایی کنید.
سلام دستوراتی رو که توی تکس چنج نوشتین بزارید تی یه تابع پابلیک بعد زمانی که قراره فرم دوباره نمایش داده بشه اونو هم فراخونی کنید.

kamiloted
یک شنبه 03 مرداد 1395, 13:21 عصر
سلام دستوراتی رو که توی تکس چنج نوشتین بزارید تی یه تابع پابلیک بعد زمانی که قراره فرم دوباره نمایش داده بشه اونو هم فراخونی کنید.

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

reza_ali202000
یک شنبه 03 مرداد 1395, 14:41 عصر
ممنونم دوست عزیز.
این کار رو خودم انجام داده بودم .اما متاسفانه جستجو انجام نمیشه.

برا اینکه کارتون راه بیوفته توی رویداد فرم شو هم فراخونیش کنید که به محض فعال شدن و نمایش فرم یکبار تابع هم اجرا بشه. یا مثلا توی رویداد اکتیو فرم