PDA

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



kebriya
سه شنبه 26 آبان 1394, 11:04 صبح
سلام دوستان من دو تا فرم دارم که هرکدومشون ی جدوله بانکمو دارن.اما دوتا از فیلدهای جدول اول توسط فرم دوم اپدیت میشن.فرم دوم از خودت فرم یک باز میشه توسط یک دکمه.من میخام وقتی فرم 2 بسته شد و تو فرم اول اومدیم اپدیت انجام شده در فرم 2 ،تو فرم اول به روز بشه و در گرید تغییرات انجام شده رو بم نشون بده.اما نمیدونم چطور بش بگم .در لحظه اپدیت نمیشه.اما اگر فرم ببندم باز کنم تغییرات اعمال میشه/

mohammadrazani
سه شنبه 26 آبان 1394, 11:44 صبح
سلام شما میتونی از دستورات زیر استفاده کنی که هنگامی که فرمت فعال میشه یبار رفرش بشه

(این کد رو میتونی توی ایونت اکتیو فرم بنویسی ) :
this.Refresh();

یا این رو میتونی توی فرمت بنویسی :

Form.ActiveForm.Refresh();



امیدوارم تونسته باشم کمک کنم:خجالت:

kebriya
سه شنبه 26 آبان 1394, 14:35 عصر
ممنون از کمکت دوست من.من یک تابع دارم که اگه بتونم فراخوانیش کنم تو یک رویداد، میتونم بروز رسانیش کنم دیتاگریدمو.کلا میخام وقتی فرم 2 بسته شد باید این تابع فراخوانی بشه تا فرم 1 دیگه اطلاعاتش اپدیت شده نمایش داده بشه.

drawback
سه شنبه 26 آبان 1394, 14:46 عصر
www.codeproject.com › Articles › Languages › C# › Utilities
برو حالش رو ببر

drawback
سه شنبه 26 آبان 1394, 14:46 عصر
http://www.codeproject.com/Articles/14122/Passing-Data-Between-Forms

AmiN0012
چهارشنبه 27 آبان 1394, 11:39 صبح
دوست عزیز من دو تا فرم دارم که فرم دوم داخل فرم یک فراخوانی میشه.من میخام هنگامی که فرم 2 درحال بسته شدنه یعنی form closing. بتونم ی تابع از فرم 1 در رویداد formclosing فرم 2 فراخوانی کنم.
من اومدم در بالایه فرم یک نمونه از فرم اول ساختم .
Frm_Treat Frm = new Frm_Treat();
بعد اومدم در رویداد form closing تابع در فرم یکم که بصورت پابلیک هم تعریف کردمو فراخوانی کردم.
private void Frm_Installment_FormClosing(object sender, FormClosingEventArgs e)
{

Frm.FillData(TreatID);
}
تریس میکنم وارد تابع میشه اما حق اینو نداره که مقدارشو تو یه تکست باکس یا ستونی از دیتا گرید بریزه.خیلی برام ضروریه.

ebrahim.rayatparvar
چهارشنبه 27 آبان 1394, 14:13 عصر
سلام مهندس
شما یک کلاس استاتیک درست کن و متغیر هایی رو که در فرم 2 میخوای انتقال بدی به صورت استاتیک تعریف کن و زمانی که کارت با فرم 2 تمام شد مقدار های ارسال رو تو متغیر بریز و فرم 2 رو ببند حالا تو فرم 1 بیا این مقدار ها رو هر جایی که دوست داری بریز البته برای تعداد مقدار ها محدود و کم خیلی خوب جواب میده. راه کار زیاده. البته در پست اول منظرتون رو خوب متوجه نشدم با همون مقدار که فهمیدم یه ره حل تقریبا خوبی بهتون دادم

AmiN0012
چهارشنبه 27 آبان 1394, 14:52 عصر
سلام دوست عزیز.ببین من یک فرم معالجات بیمار دارم که توش هزینه معالجه رو میگیره.و در گرید به همراه مشخصات فرد نشون میده.البته در گرید دو ستون به اسم دریافتی کل و باقیمانده داره که از فرم اقساط مقدار خودشو میگیره.کاربر با دابل کلیک بر روی هر سطر گرید میتونه اقساط هزینه معالجه مربوط به هر شخصو بپردازه.فرض کنید هزینه معالجه 1000000 بود بیمار 500000 تومنشو داد.سیستم خودکار این اپدیتو در جدول معالجات بیمار انجام میده.فقط حالا من باید تابعی که در فرم معالجات هست که باعث بروز شدن اطلاعات گرید میشه رو صدا بزنم در form closing فرم اقساط تا مقادیر اپدیت شده دریافتی کل و باقی مانده در ستون خودشون در گرید نمایش داده بشوند

ebrahim.rayatparvar
چهارشنبه 27 آبان 1394, 16:27 عصر
خوب یه کاری بکن تو سازنده فرم 2 به عنوان پارامتر فرم 1 رو بفرست و زمانی که میخوای تابع فرم 1 رو از فرم 2 بخونی خیلی راحت میتونی به وسیله متغیر یا راحتتر بگم شیی که فرستادی آپدیت کنی یا زمانی که تو فرم 1 فرم 2 رو فراخوانی کردی بعد کد آپدیت رو تو همون فرم 1 فراخوانی کن اینجور راحتتری. ولی اگه از فرم 2 چیزی تو بانک ذخیره نمیشه میخوای مستقیم بفرستی روش اول بهتره

AmiN0012
چهارشنبه 27 آبان 1394, 20:08 عصر
میدونی چیکار کردم!بعد اینکه اومدم fr.show() کردم زیر دستور اپدیت تو فرم اول نوشتم.اینطوری بعد fr.show میاد تغییراتو میخونه...مرسی مهندس عزیز.حرفت واقعا کمک بزرگی بم کرد.موفق باشیییی