نمایش نتایج 1 تا 5 از 5

نام تاپیک: چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

  1. #1

    چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

    سلام . یک فرم اصلی دارم و یکسری کلاس هم دارم که از نوع فرم نیستند ، می خواهم از داخل کلاس به اشیاء روی فرم اصلی دسترسی داشته باشم چطور باید این کار را انجام بدم. اگر ممکن که یک نمونه برنامه برای مثال قرار بدهید تا خوب متوجه بشم
    مرسی

  2. #2
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639

    نقل قول: چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

    واسه اينكار من كلاس Program رو به اين ترتيب تغيير مي دم:
     
    public static MainForm mainForm
    {
    get;
    private set;
    }

    static main()
    {
    ...
    Program.MainForm = new MainForm();
    Application.Run(Program.MainForm);
    Program.MainForm.Dispose();
    }
    حالا هرجا كه بخوام مي تونم به MainForm كه همون فرم اصلا برنامه‏ام باشه دسترسي داشته باشم:
    Program.MainForm.Text = "Test";

  3. #3
    کاربر دائمی آواتار jeus
    تاریخ عضویت
    آبان 1385
    محل زندگی
    لباسام
    پست
    317

    نقل قول: چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

    من منظور شما را کامل نفهمیدم فرم خودش نقش یک کلاس را داره
    میشه بیشتر توضیح بدید ؟

  4. #4
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

    دوست عزیز میتونید به این تاپیکی که r.kiani عزیز نوشته مراجعه کنید.

  5. #5

    نقل قول: چطوری از داخل کلاس به اشیا روی فرم اصلی دسترسی داشته باشم

    سلام
    یک مثال ساده :

    در ابتدا باید اشیایی که میخواهی به آنها میخواهی دسترسی داشته باشی باید
    public باشن .
    برای این کار از داخل پنجره Properties گزینه Modifiers شیئ مد نظر رو مثل Button1
    از Private به Public تبدیل میکنی .
    و برای دسترسی به فرم اصلی یا هر فرم دیگه میتونی اون فورم رو به کلاس مد نظر ارسال کنی مثل کد زیر

    اگه از سازنده کلاس استفاده کنی

    class Class1
    {
    Form1 frm1;
    public Class1(Form1 frm)
    {
    frm.button1.BackColor = Color.Red;
    frm1 = frm;
    }
    }


    کد فرم

    private void button1_Click(object sender, EventArgs e)
    {
    Class1 c1 = new Class1(this);
    }



    اگه از یک متد استفاده کنی

    class Class2
    {
    Form1 frm1;
    public void setForm(Form1 frm)
    {
    frm1 = frm;
    frm1.Width = 50;
    }
    }

    کد فرم

    private void button2_Click(object sender, EventArgs e)
    {
    Class2 c2 = new Class2();
    c2.setForm(this);
    }



    این شکلیم میشه

    class Class3
    {
    Form1 frm1;
    public Form1 Frm1
    {
    get
    {
    return frm1;
    }
    set
    {
    frm1 = value;
    }
    }
    }


    کد فرم

    private void button3_Click(object sender, EventArgs e)
    {
    Class3 c3 = new Class3();
    c3.Frm1 = this;
    }



    اینم مخصوص دسترسی آسان از یک فرم به فرم مالک

    ((Form1)this.Owner).button3.BackColor = Color.Red;

    کد فرم

    privatevoid button4_Click(object sender, EventArgs e)
    {
    Form2 frm2 = newForm2();
    frm2.Owner = this;
    frm2.Show();
    }
    فایل های ضمیمه فایل های ضمیمه

قوانین ایجاد تاپیک در تالار

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