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

نام تاپیک: مشکل دسترسی به فرم های ساخته شده

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    30

    مشکل دسترسی به فرم های ساخته شده

    با سلام
    پس از ساختن فرم توسط فرم دیگر با دستور new چطور می توان تغییراتی در فرم اول با کلیک بر روی دکمه ای در فرم دوم ایجاد کرد؟
    مشکل در این است که وقتی برای دسترسی به فرم اول از دستور new استفاده می شود یک نمونه جدید از فرم اول ایجاد می شود و فرم اولیه قابل دسترسی نیست.
    (من کدی می خواهم که در آن بتوان بدون new کردن شی از فرم به اشیا فرم دسترسی پیدا کنیم )
    آخرین ویرایش به وسیله ehsan mashkoori : شنبه 29 مرداد 1390 در 20:26 عصر

  2. #2
    کاربر تازه وارد آواتار mohammad_cmd
    تاریخ عضویت
    تیر 1390
    محل زندگی
    مشهد
    پست
    47

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

    سوالتون رو درست نفهمیدم ولی کد ایجاد فرم و باز کردنش با کلید اینه

            private void button1_Click(object sender, EventArgs e)
    {
    Form ff = new Form2();
    ff.Show();
    }

    امید وارم مفید باشه

  3. #3
    کاربر دائمی آواتار Restlesa
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    سن
    32
    پست
    659

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

    دوست عزيز اگه منظورت همون باشه كه نمونه اش رو آقا محمد زده كافيه كه براي دسترسي به فرم ساخته شده ات از نامي كه موقع تعريف به كاربردي استفاده كني
    مثلا كد زير باعث تغيير كردن خاصيت Text فرمت كه با دستور new ايجاد كردي ميشه.(با توجه به دستور ساخت فرم مثال قبل)
    ff.text="Calculator";
    آخرین ویرایش به وسیله Restlesa : شنبه 29 مرداد 1390 در 18:31 عصر

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    30

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

    نه,منظور من اینه که مثلا خاصیت TEXT یک lable در فرم اول را توسط فرم دوم که توسط فرم اول new می شود,تغییر داد.لطفا کمکم کنید.

  5. #5
    کاربر دائمی آواتار mas'oud
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    120

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

    سلام
    Modifire كنترلهايي كه قراره تغيير كنند رو از private به public تغيير بده.
    بعد يك نمونه از فرم بساز و اينجوري عمل كن:


    Form2 f = new Form2();
    f.lable1.text = "Hello!";
    f.ShowDialog();
    آخرین ویرایش به وسیله mas'oud : شنبه 29 مرداد 1390 در 19:08 عصر

  6. #6
    کاربر دائمی آواتار Restlesa
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    سن
    32
    پست
    659

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

    نقل قول نوشته شده توسط ehsan mashkoori مشاهده تاپیک
    نه,منظور من اینه که مثلا خاصیت TEXT یک lable در فرم اول را توسط فرم دوم که توسط فرم اول new می شود,تغییر داد.لطفا کمکم کنید.
    دوست عزيز به راحتي مي توني در همون فرمي كه new ‌شده با استفاده از نام فرم مورد نظرت دسترسي لازم رو داشته باشي
    دستور زير رو در قسمت مورد نظرت قرار بده
    Form1.Label1.Text="مقدار مورد نظر";

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    30

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

    این کدی که شما نوشتی برای فرم دومه,من می خوام تغییر در فرم اول توسط فرم دوم اعمال بشه.(در واقع فرم دوم رو فرم اول new کرده وفرم دوم خاصیت TEXT یک lable در فرم اول را تغییر بده).با new کردن مشکل حل نمیشه.

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    30

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

    من کدی می خواهم که در آن بتوان بدون new کردن شی از فرم به اشیا فرم دسترسی پیدا کنیم

  9. #9
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

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

    یک متغیر از نوع فرم اولتون در فرم دوم تعیرف کنید به این صورت :
    public partial class Form2 : Form
    {
    public Form1 Form1Instance = null;

    public Form2()
    {
    InitializeComponent();
    }
    }

    بعد وقتی میخواین فرم دوم رو باز کنید این کد رو بنویسید :
     Form2 frm = new Form2();

    frm.Form1Instance = this;

    frm.ShowDialog();

    حالا مثلا در رویداد کلیک یکی از کلید های فرم 2 میتونید متن یک لیبل یا هر کنترل دیگری از فرم اول رو عوض کنید به این صورت :
    private void button1_Click(object sender, EventArgs e)
    {
    Form1Instance.label1.Text = "Morteza";
    }

    فقط لیبل یا هر کنترلی که میخواین اینطوری تغییرش بدین نباید Private باشه.
    موفق باشید

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    30

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

    کد که شما دادین درست بود,اما این کد frm.Form1Instance = this دقیقا چی کار می کنه؟

  11. #11
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

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

    فرم جاری رو به متغیر Form1Instance نسبت میده.
    یعنی یه کپی از فرم1 برای فرم 2 ایجاد میشه.

  12. #12
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    زیر سایه امام رضا (ع)
    پست
    62

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

    نقل قول نوشته شده توسط troski مشاهده تاپیک
    فرم جاری رو به متغیر Form1Instance نسبت میده.
    یعنی یه کپی از فرم1 برای فرم 2 ایجاد میشه.
    البته کپی ایجاد نمیکنه و فقط رفرنس رو ست میکنه.
    یعنی یک اشاره گر که به فرم قبلی اشاره میکنه، نه یک کپی مجزا. تا فرم دو فرم یک رو بتونه ببینه و تغییرات رو اعمال کنه.

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

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