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-1404, Jelsoft Enterprises Ltd.