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

نام تاپیک: قرار گرفتن داده از form2 به form1

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    قرار گرفتن داده از form2 به form1

    با سلام
    من در برنامه خود دو فرم دارم form1 و form2 روی form1 یک textbox1 و یک 1button دارم و روی فرم form2 نیز یک textbox2 و یک button2 دارم وقتی روی 1button کلیک می کنم form2 باز می شود حال می خواهم وقتی روی button2 کلیک می کنم ضمن بسته شدن form2 متن یا عدد داخل textbox2 داخل textbox1 در form1 قرار بگیرد.لطفا راهنمایی فرمائید.

  2. #2

    نقل قول: قرار گرفتن داده از form2 به form1

    سلام..
    http://s1.picofile.com/file/69943953...Forms.rar.html

    مشخصه ی Modifiers تکست باکس فرم 1 رو Public کن.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    نقل قول: قرار گرفتن داده از form2 به form1

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

  4. #4

    نقل قول: قرار گرفتن داده از form2 به form1

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


    class form2:form
    {
    public TextBox MyTextBox2Property
    {
    get{return textbox2;}
    //set{...}
    }
    }

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

    private void btn1_click(...)
    {
    frm2 f=new frm2();
    f.ShowDialog();
    MessageBox.Show(f.MyTextBox2Property.Text);
    }

    داخل فرم 2 هر کدی رو که میخواید بنویسید، مهم اینه که یک روزی بسته میشه، وقتی بسته شد، خط بعد از زمانی که فرم 2 رو باز کردید اجرا خواهد شد...
    آخرین ویرایش به وسیله Rejnev : پنج شنبه 30 تیر 1390 در 10:14 صبح

  5. #5
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    به نظر من از event استفاده کن!
    یه public event تو فرم 2 تعریف کن که وقتی باتن فرم2 رو میزنی فراخوانی بشه و تکست رو ورودی بگیره

    تو فرم یک هم راحت میتونی از این event استفاده کنی دیگه!!

  6. #6
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    البته اگه فرم هات زیاد هستش
    بهتره از روش Office Automation Model استفاده کنی!!!
    (اینو ادمین عزیز آقای موسوی چندین بار گفته)

  7. #7
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: قرار گرفتن داده از form2 به form1

    Office Automation Model دیگه چیه داش سامان؟

  8. #8

    نقل قول: قرار گرفتن داده از form2 به form1

    شما میتوانید سازنده فرم دوم رو overload کنید که یه آرگومان از نوع آبجکت های مد نظرتون رو هم بگیره و در زمانی که میخواهید یک شئ جدید از فرم دوم بسازید، آبجکت مورد نظر (در اینجا تکست باکس) رو هم به سازنده آن بفرستید.

  9. #9
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    یه نوع مدل ارتباط بین فرمها


    Implement a Microsoft Word-like Object Model for Your .NET Framework Application


    اینم یکی از تشریح های آقای موسوی

    لینک

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    نقل قول: قرار گرفتن داده از form2 به form1

    سلام
    لطفاً کمک کنید.در صورت امکان یک مثال عملی پیوست کنید تا از روی آن الگوبرداری شود. با تشکر

  11. #11

    نقل قول: قرار گرفتن داده از form2 به form1

    می تونی از tag استفاده کنی به نظر راحت تر باشه .
    اینو تو فرم اول بنویس
    form2 nf =new form2()
    nf.tag()=textbox1.text
    nf.show();

    اینم تو فرم دوم
    textbox2.text=this.tag().tostring();

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    نقل قول: قرار گرفتن داده از form2 به form1

    دوست عزیز این کدها را کجا بنویسم روی باتن که روی هر کدام از فرمها قرار داره؟

  13. #13
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط mahdi5121 مشاهده تاپیک
    سلام..
    http://s1.picofile.com/file/69943953...Forms.rar.html

    مشخصه ی Modifiers تکست باکس فرم 1 رو Public کن.
    این کار جواب نمیده داداش
    وقتی فرم 2 باز میشه خاصیت تکست تکس باکس رو خالی میفرسته
    چرا شو نمی دونم!!!!!

  14. #14
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: قرار گرفتن داده از form2 به form1

    شما می تونید یه رشته رو بصورت استاتیک تعریف کنید و تو فرم 2 اون رو بگیرید
    مثال:
    فایل های ضمیمه فایل های ضمیمه

  15. #15

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط saeed razaee مشاهده تاپیک
    دوست عزیز این کدها را کجا بنویسم روی باتن که روی هر کدام از فرمها قرار داره؟
    آره دوست عزیز
    تو حالت عادی که می خوای که یه دکمه فرم 2 نمایش بده اون tag اضافه کن بعد تو فرم دوم قسمت لودش کد پایینی رو بنویس

  16. #16
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    این تگ که گفتی
    از فرم یک میفرسته به 2؟؟

  17. #17
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    من همچنان روشی که گفتم رو پیشنهاد میدم

    استفاده از event

    اینجوری به قول آقای موسوی ماکارونی درس نمیشه


    ---------------------------------------------------------

    مثالی که گذاشتم یه فرم اصلی دارع با 2 3 تا فرم که تو فرم اصلی ساخته میشه
    تو هر کدوم که یه چیری بنویسی تو فرم اصلی نوشته عوض میشه!!
    همه فرما رو باز کن
    بعد تست کن
    فایل های ضمیمه فایل های ضمیمه

  18. #18
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: قرار گرفتن داده از form2 به form1

    با سلام

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

    یکی از اصل های مهم برنامه نویسی شی گرا کپسوله سازی هست و استفاده از پراپریتی برای پاس دادن داده ها به ابجکت ها یکی از بهترین راه ها هست به دلیل اینکه خاصیت کپسوله سازی رو به خوبی محیا می کند


    شاید بپرسید اقای کیانی کی هست؟؟!! خب ایشون یکی از مدیران سابق سایت برنامه نویس هستن که مطالب ایشون چه در کتاب ها ( الکترونیکی و غیر الکترونیکی) یا چه در سایت ها به صورت رایگان مورد استفاده قرار می گیرد و بی شک جز برترین کاربران سایت برنامه نویس هستن و بنده احترام زیادی براشون قائل هستم و حیف که دیگه نمیتونیم از کمکهای ایشون استفاده بکنیم.

    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  19. #19

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط saman6384 مشاهده تاپیک
    این تگ که گفتی
    از فرم یک میفرسته به 2؟؟
    هر فرمی یه تگ داره و ما میایم تگ این فرم و که یه نمونه ازش میسازیم و برابر با textbox فرم حال حاظر قرار میدیم بعدش تو فرم دوم میایم میگم که چی ؟ tagی که مقداری درونت قرار دادم اون بریز توی textbox فرم 2 به شکل زیر
    private void button1_Click(object sender, EventArgs e)
    {
    Form2 nf = new Form2();
    nf.Tag = textBox1.Text;

    nf.ShowDialog();
    }


    private void Form2_Load(object sender, EventArgs e)
    {
    textBox1.Text = this.Tag.ToString();
    }

  20. #20
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط @000002@ مشاهده تاپیک
    هر فرمی یه تگ داره و ما میایم تگ این فرم و که یه نمونه ازش میسازیم و برابر با textbox فرم حال حاظر قرار میدیم بعدش تو فرم دوم میایم میگم که چی ؟ tagی که مقداری درونت قرار دادم اون بریز توی textbox فرم 2 به شکل زیر
    private void button1_Click(object sender, EventArgs e)
    {
    Form2 nf = new Form2();
    nf.Tag = textBox1.Text;

    nf.ShowDialog();
    }


    private void Form2_Load(object sender, EventArgs e)
    {
    textBox1.Text = this.Tag.ToString();
    }
    ممنون از توضیحت
    ولی
    اینجا بحثه فرستادن از 2 به یک هستش!

  21. #21

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط saman6384 مشاهده تاپیک
    ممنون از توضیحت
    ولی
    اینجا بحثه فرستادن از 2 به یک هستش!
    بازم میشه با همین روش این کارو انجام داد

  22. #22
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: قرار گرفتن داده از form2 به form1

    بعد از خوندن همه پست ها واقعا متاسف شدم! سوالی که بیش از 50 بار (شاید بیشتر) مطرح شده و هر بار با وجود اینکه پاسخ داده شده، باز هم شاهد این هستیم که اولا کاربران محترم هیچ علاقه ای به جستجو ندارند و دوما بقیه کاربران هم با پاسخ های نادرست، پرسشگر رو به مسیر نادرست هدایت می کنند...

    جواب سوال شما:
    (Application.OpenForms["yourFirstFormName"].Controls["YourTextBoxName"] as TextBox).Text = form2TextBox.Text;


    این کد رو در event کلیک button تون در فرم دومتون بنویسید!
    public کردن کنترل ها کار درستی نیست!
    متغیر static تعریف کردن بدون دلیل منطقی کار درستی نیست!
    property اضافه تعریف کردن کار درستی نیست!
    جسنجو نکردن کار درستی نیست!
    پاسخ دادن به سوالی که بلد نیستیم کار درستی نیست!
    ...

  23. #23
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: قرار گرفتن داده از form2 به form1

    متن سوال رو یکبار دیگه بخونید فکر کنم دقیق نخوندید.!!!؟!!!!

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

    منم واقعا متاسفام چطوری بدون هیچ دلیلی و با یک جمله خشک( property اضافه تعریف کردن کار درستی نیست!) و ندان دلیل منطقی به پاسخ خودتون از این موضوع گذشتید با این لحن سخن و احساس دانایی کردن

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  24. #24
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: قرار گرفتن داده از form2 به form1

    زمانی که یک قابلیتی وجود دارد که دقیقا برای این هدف هم طراحی شده، که شما بتونید به راحتی و با رعایت اصول شی گرایی، به فرم های باز برنامتون، و کنترل های اونا دسترسی داشته باشید، و شما از اون استفاده نمی کنید و به جاش property تغریف می کنید، در واقع دارید کلاه شرعی میزارید سر برنامه، چون نمیخواید خود کنترل رو public کنید، یه property تعریف می کنید که public باشه. فرض کنید فرم شما دارای 100 تا کنترل هست که همه اونا قراره مقدار بگیرند، اون موقع شما باید 100 تا property جدید به اون فرمتون اضافه کنید؟! یا اصلا فرض کنید برنامه شما ممکنه به شکل dynamic کنترل های جدید بهش اضافه بشه، اون موقع property های مربوط به اونا رو چیکار قراره بکنید؟ و مشکلات بسیاری از این قبیل ممکنه براتون پیش بیاد.
    دقت داشته باشید که صرفا حل شدن یک مسئله دلیل بر صحیح بودن یک راه حل نیست. شما باید راه حلی رو انتخاب کنید که بتونه مسئله رو در شرایط مختلف و scale های متفاوت با یک کیفیت حل کنه، نه اینکه فقط به دنبال حل در شرایط خاص باشید.
    موفق باشید

    پ.ن
    دلیلی برای حرفام نیاوردم چون منتظر بودم در ابتدا دلایل بقیه رو بشنوم و روشون بحث کنیم و بعد دلیل خودم رو عنوان کنم، وگرنه اگر قرار نبود دلیلی داده بشه، پست به دلیل تکراری بودن حذف شده بود یا قفل شده بود :)

  25. #25
    کاربر دائمی آواتار saman6384
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    325

    نقل قول: قرار گرفتن داده از form2 به form1

    مزایای این روشتون رو نسبت به روشی هم که من گذاشتم می فرمایید!؟

    با تشکر

  26. #26
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: قرار گرفتن داده از form2 به form1

    سلام
    بنده فرصت بررسی روش شما رو نداشتم و بنابراین در موردش هم اظهار نظر نکردم و الانم نمیتونم مقایسه اش کنم با روشی که خودم عرض کردم.
    اما میتونم توضیحی در مورد روش خودم بدم:
    بحث اصلی در این مساله اینه که ما چطور به شی مورد نظر از فرم مون که الان در حافظه هست دسترسی داشته باشیم. یک Design Pattern هست به اسم Singletone که روشی رو پیشنهاد میده که در اون، از یک کلاس فقط یک نمونه در یک لحظه در حافظه میتونه وجود داشته باشه. به این صورت، در مورد این مساله اگر بخوایم نگاه کنیم، اگر ما بتونیم تضمین بدیم که تنها یک نمونه از مثلا فرم 1 برنامه ما الان در حافظه وجود داره، و بتونیم به اون نمونه دسترسی داشته باشیم، خیلی راحت میتونیم کارهایی رو که لازم داریم رو با اون فرم انجام بدیم. استفاده از این design pattern این تضمین رو به ما میده و در این روشی هم که بنده عرض کردم، از singletone استفاده شده (در پشت قضیه) و نتیجه به صورت یک indexer در اختیار برنامه نویس قرار داده شده. در واقع وقتی ما می نویسیم
    Application.OpenForms["..."]
    داریم به اون نمونه ای از فرم ها که در حافظه است و دارای یک اسم خاص است، دسترسی پیدا می کنیم، بر اساس الگوی singletone.

    امیدوارم تونسته باشم توضیح بدم.
    موفق باشید

  27. #27
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: قرار گرفتن داده از form2 به form1

    حالا من نمی خوام بحث دلیل اوردن یا نیاوردن رو کش بدم ولی فرضا یکی رو میخوان دادگاهی کنن بهش میگن شما این جرم رو مرتکب شدی به این دلیل و اون دلیل و بعدش طرف میاد از خودش دفاع میکنه ولی شما کلا بدون محاکمه تناب دار رو گردن یارو بردی

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

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

    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  28. #28
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: قرار گرفتن داده از form2 به form1

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

    در مورد استفاده از property ها، من با استفاده از property ها برای انتقال داده میان اشیا مختلف مشکلی ندارم، اتفاقا تایید و تاکید هم می کنم، اما در این مورد خاص به دلیل اینکه مکانیزم از پیش تعیین شده ای براش وجود داره که به نظر خودم قابلیت های بالاتری به نسبت استفاده از property داره (که در پست های قبلیم توضیح دادم) ، استفاده از property رو نمی پسندم برای این کار.

    ممنون از شرکتتون در بحث :)
    موفق باشید

  29. #29
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: قرار گرفتن داده از form2 به form1

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

    امیدوارم روزی برسه که تو انجمن برنامه نویس برای این کارا از خاصیت modifire یا متغیر استاتیک استفاده نشه و به جاش روشی که شما گفتید یا روش استفاده از پراپریتی رو دنبال بکنن و حداقل فکر کنم پراپرتی از اونا بهتر باشه

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

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  30. #30
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    نقل قول: قرار گرفتن داده از form2 به form1

    سلام
    من از کدهایی که فرمودید استفاده کردم اما با این پیغام روبرو شدم مشکل کجاست؟untitled.JPG

  31. #31
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: قرار گرفتن داده از form2 به form1

    مطمئنی که همچین شی هایی وجود داره؟؟؟؟؟؟؟؟

  32. #32

  33. #33
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: قرار گرفتن داده از form2 به form1

    با اجازه اقای اوویسی

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

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  34. #34
    کاربر دائمی
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    فعلاً #C
    پست
    444

    نقل قول: قرار گرفتن داده از form2 به form1

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

  35. #35

  36. #36
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: قرار گرفتن داده از form2 به form1

    درود
    من نهار ماکارونی خوردم.(ولی ماکارونی الفبایی نبود)

    برای این کار یه راه ساده ساده ساده وجود داره که
    ۱.
    امنیت برنامه شما رو در برابر reflection به خطر نمیندازه.
    ۲.
    خطاهای random نمیده
    ۳.
    typesafe ه
    ۴.میتونید فکر کنید HardCode شده یا نشده(بستگی داره چطوری ازش استفاده کنید.)

    class PlaceHolderForMyData
    {
    internal PlaceHolderForMyData(string Data1)
    {
    if(Data1 != null) this.Data1 = Data1;
    }
    bool isData1Set = false; string data1;
    internal string Data1 { get { return data1; } set { if (isData1Set) return; data1 = value; isData1Set = true; } }
    internal bool IsData1Set { get { return isData1Set; } }

    bool isData2Set = false; string data2;
    internal string Data2 { get { return data2; } set { if (isData1Set) return; data2 = value; isData2Set = true; } }
    internal bool IsData2Set { get { return isData2Set; } }
    }
    class C1
    {
    void MyButtonClicked()
    {
    PlaceHolderForMyData PlaceHolderInstance = new PlaceHolderForMyData("Hello");
    C2 MyC2 = new C2(PlaceHolderInstance);
    MyC2.ShowDialog();
    if(PlaceHolderInstance.IsData2Set)
    {
    MessageBox.Show("Data2 returned from form 'C2'");
    }
    }
    }
    class C2 : Form
    {
    PlaceHolderForMyData placeHolderInstance;
    internal C2(PlaceHolderForMyData PlaceHolderInstance)
    {
    placeHolderInstance = PlaceHolderInstance;
    if(placeHolderInstance.IsData1Set)
    {
    this.InputTextBox.Text = placeHolderInstance.Data1;
    }
    }
    void Form_Closing(...FormClosingEventArgs Here..)
    {
    if(this.InputTextBox.Text != "")
    {
    placeHolderInstance.Data2 = this.InputTextBox.Text;
    }
    }
    }


    اگر از ShowDialog استفاده نمیکنید چند راه دارید:
    ۱.
    از یک Action (Delegate) استفاده کنید.(به عنوان پارامتر به کلاس PlaceHolder بفرستید و وقتی کارتون در فرم C2 تموم شد فراخوانیش کنید)

    ۲.
    از یک Wait(System.Threading) استفاده کنید(وقتی کارتون در فرم ۲ تموم شد Trig اش کنید)

    ۳.از یک Event استفاده کنید.

    برای حالات معمولی روش یک بهتره.
    اگر حجم پردازش بالاست و قراره از یک ترد دیگه استفاده بشه, بهتره از همون اول از روش دو استفاده کنید.
    هیچ حالتی به ذهنم نمیرسه که روش سوم رو ترجیح بدم.
    آخرین ویرایش به وسیله FastCode : پنج شنبه 31 شهریور 1390 در 18:04 عصر

  37. #37

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط Amir Oveisi مشاهده تاپیک
    خوب باز هم میتونین به تکسن باکس ها دسترسی داشته باشید.
    من هم دقیقا به همین مشکل برخوردم

    میشه بگید راه حلش چیه؟
    (Application.OpenForms["form1"].Controls["textbox1"] as TextBox).Visible = false;

    textbox توی panel گذاشتم ، و احتمالا برای همین خطا میده ، دقیقا همون خطایی که دوستمون گفتن:
    object reference not set to an instance of an object.

    نام فرم و تکست باکس هم صحیح نوشتم.

  38. #38
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط reza_magical مشاهده تاپیک
    من هم دقیقا به همین مشکل برخوردم

    میشه بگید راه حلش چیه؟
    (Application.OpenForms["form1"].Controls["textbox1"] as TextBox).Visible = false;

    textbox توی panel گذاشتم ، و احتمالا برای همین خطا میده ، دقیقا همون خطایی که دوستمون گفتن:
    object reference not set to an instance of an object.

    نام فرم و تکست باکس هم صحیح نوشتم.
    پست بالایی رو خوندید؟
    باور کن جوابه, سوال نیست.

  39. #39

    Smile نقل قول: قرار گرفتن داده از form2 به form1

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

  40. #40
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: قرار گرفتن داده از form2 به form1

    نقل قول نوشته شده توسط reza_magical مشاهده تاپیک
    من هم دقیقا به همین مشکل برخوردم

    میشه بگید راه حلش چیه؟
    (Application.OpenForms["form1"].Controls["textbox1"] as TextBox).Visible = false;

    textbox توی panel گذاشتم ، و احتمالا برای همین خطا میده ، دقیقا همون خطایی که دوستمون گفتن:
    object reference not set to an instance of an object.

    نام فرم و تکست باکس هم صحیح نوشتم.
    ((Application.OpenForms["form1"].Controls["yourPanelName"] as Panel).Controls["yourTextboxName"] as TextBox).Visible = false;


    البته در این مثال چون visible از کلاس control به panel و textbox رسیده، الزامی به cast کردن نیست و میشه اون قسمت های as Panel و as TextBox رو از کد حذف کرد.

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

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