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

نام تاپیک: دسترسی به فرم دیگر (متغیر یا تکست)

  1. #1
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    Question دسترسی به فرم دیگر (متغیر یا تکست)

    سلام
    چگونه میشه به اجزای فرم دیگر تو پروژمون دسترسی داشته باشیم ؟
    مثل متغیر یا لیبل .
    یادم هست که تو ویبی به راهتی می شد .
    ممنون میشم زود جواب بدین .

  2. #2
    کاربر دائمی آواتار hana2064
    تاریخ عضویت
    تیر 1387
    محل زندگی
    یه جای خوش اب و هوا
    پست
    129

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    اگه یه سرچ ناقابلم میزدین بد نبود

    form_shoma fsh=new form_shoma();
    fsh.labele1.text.....

  3. #3
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    سلام
    ولی این فقط برای خواندن هست ولی مثلا بخوای لیست رو Clear کنی نمیشه .
    فقط در این حد می دونم که باید لیست رو publiic کنم .
    ممنون .

  4. #4
    کاربر دائمی آواتار corona
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    مشهد
    پست
    188

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    خوب دوست من برای این کار همون طور که خودت گفتی باید اون کنترلی در فرم فعلی که می خوای از توی فرم دیگه بتونی پاکش کنی رو public تعریف کنی . و یک رفرنس از فرم فعلی رو به فرم دیگه وقتی که اون نمایش میدی پاس بدی ، بعد دیگه حله .توی برنامه ای که ضمیمه کردم همه چی مشخصه .
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    نه منظور من این بود که item های لیست رو پاک کنم .
    هر کاری می کنم نمیشه .
    ممنون میشم زود کمک کنید .

  6. #6
    کاربر دائمی آواتار corona
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    مشهد
    پست
    188

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    خوب دوست من فرقی نمی کنه . وقتی شما تو فرم دیگه به کنترلهای فرم اصلی دسترسی داشته باشی همه کار میتونی باهاشون انجام بدی . حالا مثلا برای پاک کردن محتویات یک لیست باکس که تو فرم اصلیت هست و مقدار داخلش داره کافیه تو همین برنامه ای که گذاشتم تو رویداد button1_Click فرم دوم این تکه کد رو هم اضافه کنی :


    f.listBox1.Items.Clear();

  7. #7
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    خوب من هم همین کد رو نوشتم ولی پاک نمیشه .
    ممنون .

  8. #8
    کاربر دائمی آواتار hasan_esfahan
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    419

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    دوست عزیز من فقط دو تا نکته می گم
    - این که خاصیت modifire شی شما باید public باشه و دوم این که

    f.listBox1.Items.Clear();

    باید قبل از

    f.show()

    باشه

  9. #9
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    دوست عزیز من فرم اولم باز هست و بعد دومی رو باز می کنم و بعد می خواهم از دومی لیست فرم اول رو پاک کنم .
    ممنون میشم اگه قبل از کد گذاشتن یه تست بزنی .

  10. #10
    کاربر دائمی آواتار hasan_esfahan
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    419

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    دوست عزیز ابتدا کامل توضیح دهید تا به جواب سریع برسید
    برای این کار مثلا در قسمت public فرم کد زیر را درج کنید

    static public ListBox l1;

    خوب حالا در لود فرم ایجاد و به فرم اضافه کنید

    l1 = new ListBox();
    this.Controls.Add(l1);
    l1.Items.Add("asd");


    و در اخر از فرم دوم ان را خالی کنید

    Form1.l1.Items.Clear();

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

  11. #11
    کاربر دائمی آواتار mostafaaa
    تاریخ عضویت
    دی 1386
    محل زندگی
    جزیره کیش
    پست
    723

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    سلام دوست من
    ایده ای که دوستمون corona پیشنهاد دادن، ایده درستیه که میتونه مشکلتون رو حل کنه ، ولیکن میتونید به جای اینکه فرم اولتون رو با استفاده از constructor به فرم دوم پاس بدین از مشخصه Owner فرم ها تون استفاده کنید به این شکل :
           private void button1_Click(object sender, EventArgs e)
    {
    Form2 F = new Form2();
    F.Owner = this;
    F.Show();
    }

    و در فرم دوم برای پاک کردن لیست باکس مربوطه داریم .
            private void button1_Click(object sender, EventArgs e)
    {
    ((ListBox)this.Owner.Controls["ListBox1"]).Items.Clear();
    }

    یا علی

  12. #12
    کاربر تازه وارد آواتار mtaboy
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تهران
    پست
    88

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    آقا جواب داد. میشه در مورد کد یه توضیح کوچیک بدید...من در مورد owner چیزی نمیدونم...

  13. #13

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    قبلا برای اینکه ما به فرم اولی در فرم دومی دسترسی داشته باشیم و یا به اصطلاح ریسمان زمان اجرای اون رو داشته باشیم باید هندل فرم رو به فرم دومی پاس می دادیم و اونجا ازش استفاده می کردیم ولی باowner دیگه نیازی به این کار نیست چون خودش این کار رو برات انجام میده . البته در حالتی که برنامه رو با چند ریسمان می نویسید و صفحات در ریسمان های مختلف اجرا میشن شکل دسترسیتون باید با delegate بشه که شما با این مساله برخورد نمی کنید .

  14. #14

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    البته می دونی مشکل این حالت چیه ؟ TypeChecking نداره . و خطاهای زمان اجراش زیاده .
    شما برای اینکه به عنصر موجود در صفحه اول دسترسی داشته باشی باید اسم اون کنترل رو به صورت رشته بنویسی که در زمان اجرای برنامه بررسی میشه . و اینکه برای تبدیل نوعها هم در زمان اجرا می فهمه که قابل تبدیل نیست . بهتره کد رو به این صورت بنویسی :
    فرم اولت رو به همون صورت بالا انجام بده و در فرم دوم برای پاک کردن :

    {
    Form1 frm = new Form1();
    frm = (Form1)this.Owner;
    frm.ListBox1.Items.Clear();
    }
    البته باید کنترلت رو به صورت public تعریف کنی .

  15. #15
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    نقل قول نوشته شده توسط mostafaaa مشاهده تاپیک
    سلام دوست من
    ایده ای که دوستمون corona پیشنهاد دادن، ایده درستیه که میتونه مشکلتون رو حل کنه ، ولیکن میتونید به جای اینکه فرم اولتون رو با استفاده از constructor به فرم دوم پاس بدین از مشخصه Owner فرم ها تون استفاده کنید به این شکل :
           private void button1_Click(object sender, EventArgs e)
    {
    Form2 F = new Form2();
    F.Owner = this;
    F.Show();
    }

    و در فرم دوم برای پاک کردن لیست باکس مربوطه داریم .
            private void button1_Click(object sender, EventArgs e)
    {
    ((ListBox)this.Owner.Controls["ListBox1"]).Items.Clear();
    }

    یا علی

    منم همین مشکل رو دارم
    یه فرم دارم که فرزند یه فرم دیگس و یه فرمم دارم که فرزند هیچ کس نیست
    حالا اون فرم فرزند باز هست ولی opacity فرم پدرش 0 شده و این فرزنده هم نشون داده نمیشه یعنی در اصل فرم فرزند و پدر بازه، بعد میخوام یه مقداری رو از اون فرم که فرزند هیچ کسی نیست پاس بدم به اون فرم فرزنده ، اولش میشد ولی الان نمیدونم هر کاری میکنم نشونش نمیده
    در واقع یه label توی فرم فرزنده دارم که میخوام مقدار تکست این لیبل از یه فرم دیگه پر بشه ولی چون فرمم بازه همون مقدار اولیه لیبل رو میگیره
    از کدبالا هم استفاده کردم ولی این err رو بهم میده
    Object reference not set to an instance of an object

  16. #16
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    بارها در مورد استفاده نکردن از این چنین روشهایی در این انجمن بحث شده.
    روش درست درخواست کردن از فرم برایه پاک کردن و یا تغییر دادن کنترلهایه خودش است.
    دست انداختن همینطوری به کنترلهایه فرم دیگر روش درست نیست.

    اگر یک پروژه کوچک که مشکلتان را نشان بده بفرستید درستش را میفرستم

  17. #17
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    برنامم سنگینه نمیشه Upload اش کنم من میخوام با زدن یک کلید از یه فرمی اطلاعات مثلاً یه تکست باکس ریخته بشه تو یه تکست باکس دیگه از یه فرم دیگه که این فرم فرزند یه فرم دیگس در ضمن هر سه تافرمم باز هستند .
    پارامتر رو میتونم پاس بدم ولی نمی دونم توی چه رویدادی از فرم دوم بنویسم که وقتی از فرم اول پاس داده شد توی این تکست باکس ریخته بشه
    آخه من اومدم یه متغیر از نوع public تعریف کردم که با زدن یک کلید از فرم اول مقدار یه تکست باکس توی این متغییر ریخته می شه بعد بلافاصله Opacity فرم دومم که پدر فرم سومم بود برابر 1 میکردم تا فرم دوم و فرم سوم نشون داده بشه حالا توی کدوم رویداد از فرم سومم بنویسم که مقدار این پارامتر Public به یه تکست باکس از فرم سومم اختصاص داده بشه ؟؟؟؟؟؟؟؟؟؟؟؟

  18. #18
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    کسی مشکل مارو نفهمید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

  19. #19
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    نقل قول نوشته شده توسط elmira_63 مشاهده تاپیک
    کسی مشکل مارو نفهمید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    چیزی که تشریح کردید برایه درک من یکمی زیاد عجیب بود، اگر ممکن است یک پروژه کوچک بفرستید درستش کنیم.

    در ضمن یک نگاهی هم به این توپیکها بندازید، از یک لحاض مشکلاتی که تشریح کردید ممکن است به یکی از این پستها ربط داشته باشد (بدانه دیدن کد و پروژه و اینکه هدفتان از شفاف کردن فرم و پس دادن متغییرها چی هست از این بیشتر از دستم برنمیاد)

    https://barnamenevis.org/showthread.php?t=125993
    https://barnamenevis.org/showthread.php?t=88552
    https://barnamenevis.org/showthread.php?t=175618

  20. #20
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: درسترسی به فرم دیگر(متغر یا تکست

    نقل قول نوشته شده توسط elmira_63 مشاهده تاپیک
    برنامم سنگینه نمیشه Upload اش کنم من میخوام با زدن یک کلید از یه فرمی اطلاعات مثلاً یه تکست باکس ریخته بشه تو یه تکست باکس دیگه از یه فرم دیگه که این فرم فرزند یه فرم دیگس در ضمن هر سه تافرمم باز هستند .
    پارامتر رو میتونم پاس بدم ولی نمی دونم توی چه رویدادی از فرم دوم بنویسم که وقتی از فرم اول پاس داده شد توی این تکست باکس ریخته بشه
    آخه من اومدم یه متغیر از نوع public تعریف کردم که با زدن یک کلید از فرم اول مقدار یه تکست باکس توی این متغییر ریخته می شه بعد بلافاصله Opacity فرم دومم که پدر فرم سومم بود برابر 1 میکردم تا فرم دوم و فرم سوم نشون داده بشه حالا توی کدوم رویداد از فرم سومم بنویسم که مقدار این پارامتر Public به یه تکست باکس از فرم سومم اختصاص داده بشه ؟؟؟؟؟؟؟؟؟؟؟؟
    سلام

    راستش درک من از برنامه شما اینطوری بود .

    شما یک فرم دارید به اسم parent و یک فرم به اسم chaild که این 2 تا به صورت MDi هستند .
    حالا شما توی فرم chaild یک textbox و یک button دارید که با زدن دکمه button یک فرم دیگه به اسم Form1 باز میشه . و form1 شما هم دارای یک button و یک textbox هست .
    و شما قصد دارید با زدن دکمه button مقدار موجود در texbox فرم 1 به textbox فرم chaild منتقل بشه .

    کدهای فرم chaild

    private void passData(object sender)
    {
    txtChaild.Text = ((TextBox)sender).Text;
    }
    private void button1_Click(object sender, EventArgs e)
    {
    Form1 frm = new Form1();
    frm.pass = new PassControl(passData);
    frm.Show();
    }


    کدهای Form1

        public delegate void PassControl(object sender);
    public PassControl pass;
    private void button1_Click(object sender, EventArgs e)
    {
    if (pass != null)
    {
    pass(textBox1);
    }
    }


    موفق باشی

  21. #21
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: دسترسی به فرم دیگر (متغیر یا تکست)

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

  22. #22

    نقل قول: دسترسی به فرم دیگر (متغیر یا تکست)

    salam
    dar morede sakhtare tread ha tu c mikhastam bedunam.
    mer30

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

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