PDA

View Full Version : سوال: لود کردن فرم قبل از نشان دادن آن



memolove2
یک شنبه 03 بهمن 1389, 11:38 صبح
سلام
من میخوام یک فرم رو قبل از نشان دادن آن لود کنم
مثلا یک فرم داریم به نام Customers
میخواهیم متد Customers_load() را اجرا کنیم
تو نت گشتم یه چیزایی پیدا کردم که براتون میزارم البته error داره


Type t = form.GetType();
object obj = form;
MethodInfo mm = t.GetMethod("Customers_Load");
mm.Invoke(obj, null);

در کد بالا وقتی میخواد invoke بکنه error میده که parameter count mismatch

دوستان میدونید برا چی error میده ؟
راه حل دیگه ای دارید ؟

memolove2
یک شنبه 03 بهمن 1389, 20:41 عصر
دوستان عزیز مشکل حل شد
براتون اینجا میزارم



Type t = form.GetType();
object obj = form;
MethodInfo mm = t.GetMethod("Customers_Load");
object[] parameters = { null ,null };

mm.Invoke(obj, parameters);

حسنی نگو بلا بگو
یک شنبه 03 بهمن 1389, 23:24 عصر
سلام

مي توني توضيح بدي چي كار كردي؟

وقتي فرمي اجرا ميشه اول رويداد load اجرا ميشه بعد show ميشه

براي چي مي خواي بازسازيش كني و invoke چه ربطي به load داره؟

ممنون ميشم جواب بدي

memolove2
دوشنبه 04 بهمن 1389, 19:08 عصر
خب من احتیاج داشتم فرم رو قبل از show لود کنم که ببینم تمام فیلدها به صورت صحیح از بانک به textbox ها منتقل شدن یا نه
اگه نه اصلا فرم رو نشون نمیدم
چون لود یک صفحه متد هستش باید با دستور invoke اونو فراخوانی کرد

حسنی نگو بلا بگو
سه شنبه 05 بهمن 1389, 00:44 صبح
با اين روشي كه براي استفاده ي متد نوشتي آيا ميشه متدي رو از كنترل1 به متدي از كنترل2 منتصب كرد بعد فراخوانيش كرد؟

يعني متدكنترل2 درون خودش نام گذاري بشه و عملكردشو از كنترل1 بگيره بدون اين كه وارث كل كنترل1 باشه

memolove2
چهارشنبه 06 بهمن 1389, 18:33 عصر
اره میشه
مثلا ما فرم customers , user داریم که میخوایم لودشون کنیم
کافیه نام فرمو بخونیم بعد یک Load_ بهش اضافه کنیم
حالا میشد متد user_load رو اجرا کرد