View Full Version : ()Call Event
RK977877
دوشنبه 15 دی 1393, 14:37 عصر
با سلام خدمت دوستان گرامی
چطوری میشه با استفاده از Event ها یک متد رو در یک فرم دیگر فراخوانی کرد
SabaSabouhi
دوشنبه 15 دی 1393, 15:53 عصر
سلام
این کار درستی نیست، اما شما میتونید یه متد public ایجاد کنید و توی event مورد نظرتون اون رو فراخوانی کنید.
و کارهایی که قراره این event انجام بده رو توی اون متد public انجام بدین.
public void MyClick(){
}
private void Button_Click( object sender, EventArgs e ){
MyClick();
}
به این شکل اون متد public از فرمهای دیگه قابل دسترسی هست و مشکلی هم ایجاد نمیشه.
صبا صبوحی
RK977877
شنبه 20 دی 1393, 12:53 عصر
ببینید برای مثال تو یه برنامه MdiApplication اگه شما یه متد تو فرم اصلی داشته باشد و بخواید تو فرم Child که باز میشه اونو صدا بزیند به چه طریق عمل میکنید ؟
SabaSabouhi
شنبه 20 دی 1393, 15:55 عصر
سلام
فرم اصلی یک کلاس هست، اما چیزی که مشاهده میکنید یه شیء هست.
میتونید به این شکل عمل کنید.
internal static class Program {
public MyMdiForm MyMdiForm { get; private set; }
public static void Main(){
MyMdiForm = new MyMdiform();
Application.Run( MyMdiForm );
.
.
.
حالا به راحتی تو هر فرم میتونید به صورت Program.MyMdiForm به متدهای غیر private فرم اصلی دسترسی داشته باشید.
صبا صبوحی
elec60
شنبه 20 دی 1393, 23:19 عصر
میتونید موقع نمونه سازی از فرم child یه object از فرم اصلی هم به سازنده child پاس بدین و به این شی و توابع غیر private اش دسترسی داشته باشین.
البته باید سازنده دیفالت فرم child رو تغییر بدین تا متغیر از تایپ فرم اصلی قبول کنه...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.