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

نام تاپیک: جمع مقادير textbox ها با استفاده از رويداد text Changed

  1. #1

    جمع مقادير textbox ها با استفاده از رويداد text Changed

    سلام خدمت اساتيد محترم
    من يه فرم دارم كه چند تا تكس باكس داره و يه مبلغي رو هم به عنوان كل پولي كه داريم در يه متغير ذخيره كرديم.خب حالا مي خوام هر بار كه كاربر عددي رو در هر تكس باكسي وارد مي كنه، كلا مبالغ جمع بشن و از اون مبلغ پايه كم بشه. اين كديه كه نوشتم اما نمي دونم چه مشكل منطقي در كدم هست كه جواب نميده !!! البته براي يه تكس باكس كه كد رو در اون نوشتم كار مي كنه اما براي بقيه تكس باكس ها نه !!!
    اينم كدي كه نوشتم :


    foreach (var c in this.Controls)
    {
    if (c.GetType() == typeof(TextBox))
    {
    if (((TextBox)c).Text != String.Empty)
    {
    sum = int.Parse(((TextBox)c).Text);
    label1.Text = (p - sum).ToString();
    }
    else
    {
    label1.Text = p.ToString();
    }
    }
    }

    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 30 شهریور 1394 در 20:54 عصر

  2. #2
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    چیزی که میخواین فوق العاده اشتباهه. این که کاربر تا یه عددی تایپ کرد بیاد محاسبه انجام بشه اصلا با عقل جور در نمیاد مثلا کاربر میخواد عدد بیست و سه رو وارد کنه وقتی دو رو زد میاد دوتا کم میکنه بعد که سه هم بهش اضافه شد اونوقت میاد بیست و سه رو کم میکنه. اینجوری بیست و پنج تا از متغییر کم شده
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 30 شهریور 1394 در 20:55 عصر

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1391
    محل زندگی
    هرجا که دلم خوش باشه
    پست
    81

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    خب چرا تو یه تک باکس نوشتی؟؟؟
    تو یه رویداد بنویس بعد این رویداد رو تو textchange هر تکس باکی فراخوانی کن

    البته نظر amir هم درسته اما کلا اون کار رو اگه بخوای انجام بدی راهش اینه

  4. #4
    کاربر دائمی آواتار R_khaleghi
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    شیراز
    پست
    185

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    سلام.

    این فقط یک نمونه هست. امیدوارم به کارت بیاد:

    WindowsFormsApplication2.rar

    موفق باشید.

  5. #5

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

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

  6. #6

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط setareh masompoor مشاهده تاپیک
    خب چرا تو یه تک باکس نوشتی؟؟؟
    تو یه رویداد بنویس بعد این رویداد رو تو textchange هر تکس باکی فراخوانی کن

    البته نظر amir هم درسته اما کلا اون کار رو اگه بخوای انجام بدی راهش اینه
    خب من دقيقا همين كار رو كردم اما جواب نميده !!! من رويداد text changr بقيه تكس باكس هارو متصل كردم به تكس باكسي كه برنامه رو توش نوشتم اما كار نمي كنه!!!
    در مورد سوال اولت هم بايد بگم كه چون مي خواييم معلوم باشه كه چه مقدار پول براي چه قطعه اي هزينه شده؛ وگرنه مي شد كل پولي كه خرج شده رو در يه تكس باكس ريخت و از مبلغ كل كم كرد و خروجي گرفت .

  7. #7
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    چرا با عقل جور در نمياد ؟؟؟ فرض كن شما يه پولي به كاربر ميدي، مي گي برو با اين پول چندتا قطعه بخر، خب حالا زماني مي توني خريدت رو ثبت كني كه پول خرج شده با پولي كه به كاربر دادي برابر باشن؛ نه كمتر و نه بيشتر !! كاربر هم هر چيزي رو كه مي خره، پولش رو وارد تكس باكس ها مي كنه و برنامه هم حساب مي كنه كه چقدر خرج شده و چقدر هم باقي مونده !!! اين كجاش اشتباست ؟؟؟
    در مورد اون مشكلي هم كه گفتي،نه اينطور نيست! چون هر بار مياد از مقدار اوليه P كم مي كنه نه اون مقداري كه قبلا ازش كم كرده !
    اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی

  8. #8
    کاربر دائمی آواتار R_khaleghi
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    شیراز
    پست
    185

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط amir200h مشاهده تاپیک
    اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی
    واسه اینکه این مشکل حل بشه یعنی به جای 23، 25 کم نشه می تونی هربار که تکس باکس تغییر میکنه Clear کنی.
    این مشکل حل میشه.

  9. #9
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط R_khaleghi مشاهده تاپیک
    واسه اینکه این مشکل حل بشه یعنی به جای 23، 25 کم نشه می تونی هربار که تکس باکس تغییر میکنه Clear کنی.
    این مشکل حل میشه.
    خوب اینجوری اول دو کم میشه بعد تکست باکس پاک میشه بعد که سه رو زد سه تا کم میشه و در نهایت پنج تا کم میشه نه بیست و سه تا

  10. #10
    کاربر دائمی آواتار R_khaleghi
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    شیراز
    پست
    185

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    [
    نقل قول نوشته شده توسط amir200h مشاهده تاپیک
    خوب اینجوری اول دو کم میشه بعد تکست باکس پاک میشه بعد که سه رو زد سه تا کم میشه و در نهایت پنج تا کم میشه نه بیست و سه تا

    فایل ضمیمه را یه نگاه بندازین:

    WindowsFormsApplication2.rar

  11. #11
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط R_khaleghi مشاهده تاپیک
    [


    فایل ضمیمه را یه نگاه بندازین:

    WindowsFormsApplication2.rar
    بله حق با شماست. من تکست باکس جمع همه رو نادیده گرفته بودم

  12. #12

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط R_khaleghi مشاهده تاپیک
    سلام.

    این فقط یک نمونه هست. امیدوارم به کارت بیاد:


    موفق باشید.
    سلام، با تشكر از توجه شما، ور‍ژن ويژوال استديوي من 2008 هست و برنامه شما رو باز نكرد.اما من كدهايي كه در فايل Form1 نوشته بوديد رو نگاه و تست كردم و جواب نداد !!‌چون شما در رويداد هر تكس باكس نوشتين كه بيا مقدار هاي بقيه تكس باكس ها رو هم جمع كن، خب حالا اگه كاربر خواست فقط در تكس باكس 2 مقدار وارد كنه،‌برنامه خطا ميگيره ! چرا ؟ چون شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!

  13. #13

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط amir200h مشاهده تاپیک
    اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی
    داداش من اتفاقا بايد تو همين رويداد نوشته بشه !!! امتحان هم كردم و جواب هم گرفتم اما فقط واسه يه تكس باكس !!! نمي دونم چرا براي بقيه تكس باكسا جواب نميده !!! البته من اومدم يه به علاوه كوچولو هم جلوي متغير SUM‌گذاشتم كه اول همه تكس باكس ها مقاديرشون رو اگر خالي نيستن، جمع كنه و در نهايت از پول اوليه كم كنه كه متاسفانه، برنامه وارد فازهاي ديگه اي شد و جواب نداد !!!

  14. #14
    کاربر دائمی آواتار R_khaleghi
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    شیراز
    پست
    185

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    سلام، با تشكر از توجه شما، ور‍ژن ويژوال استديوي من 2008 هست و برنامه شما رو باز نكرد.اما من كدهايي كه در فايل Form1 نوشته بوديد رو نگاه و تست كردم و جواب نداد !!‌چون شما در رويداد هر تكس باكس نوشتين كه بيا مقدار هاي بقيه تكس باكس ها رو هم جمع كن، خب حالا اگه كاربر خواست فقط در تكس باكس 2 مقدار وارد كنه،‌برنامه خطا ميگيره ! چرا ؟ چون شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!
    سلام.
    پیش فرض مقدار تمام تکس باکس ها را برابر صفر قرار بدین درست میشه.

  15. #15
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1391
    محل زندگی
    هرجا که دلم خوش باشه
    پست
    81

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!
    برای اینکه خطا نگیره میتونی قبل جمع کردن این شرطتو بذاری که مقدار textbox ها خالی بود بهش مقدار 0 بده

  16. #16

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    ضمنا امير آقا كاري كه من دارم انجام مي دم مشابه اون برنامه اي هست كه در يه تكس باكسي كاربر عدد وارد مي كنه و هم زمان كه عدد وارد ميشه ،كاربر مي تونه معادل حروفي اون كنار تكس باكس ميبينه !!! كه طبيعاتا ممكنه كاربر عددي رو پاك يا اضافه كنه !!!با اين تفاوت كه من مي گم بيا يه كار ديگه كن !!! پس دقيقا بايد در رويداد Text Change نوشت برنامه رو !!!

  17. #17

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط setareh masompoor مشاهده تاپیک
    برای اینکه خطا نگیره میتونی قبل جمع کردن این شرطتو بذاری که مقدار textbox ها خالی بود بهش مقدار 0 بده
    با تشكر از توجه شما، حرف شما درسته اما تعداد تكس باكس هاي من يكم زياده !!! به نظرم منطقي نيست بخوام واسه هر تكس باكسي، بيايم كلي شرط بذارم كه تكس باكس ها رو بررسي كنه !!! فكر مي كنم منظقي تر و ساده تر، همين كديه كه نوشتم، اما چرا براي بقيه تكس باكس ها جوا نمي ده، نمي دونم!

  18. #18
    کاربر دائمی آواتار R_khaleghi
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    شیراز
    پست
    185

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    با تشكر از توجه شما، حرف شما درسته اما تعداد تكس باكس هاي من يكم زياده !!! به نظرم منطقي نيست بخوام واسه هر تكس باكسي، بيايم كلي شرط بذارم كه تكس باكس ها رو بررسي كنه !!!
    شما می توانید از ابزار Maskedtextbox از مجموعه کامپوننت Telerik استفاده کنید و خاصیت Mask type را روی Number تنظیم کنید.
    موفق باشید.

  19. #19
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1391
    محل زندگی
    هرجا که دلم خوش باشه
    پست
    81

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    چرا برای هر textbox بنویسی
    یه حلقه foreach بذار بعد همه ی کنترل های textbox رو تو اون حلقه بررسی کن.
    برای اینکه با بقیه textbox ها هم اشتباه نشه و فقط اونایی که تو میخوای رو چک کنه از tag استفاده کن
    به اونایی که میخوای tag بده بعد تو شرطتت اونایی که textbox باشه و خاصیت tag هم مخالف null بود رو بررسی کن و مقدار 0 بده

  20. #20
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    35
    پست
    312

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    خب من دقيقا همين كار رو كردم اما جواب نميده !!! من رويداد text changr بقيه تكس باكس هارو متصل كردم به تكس باكسي كه برنامه رو توش نوشتم اما كار نمي كنه!!!
    در مورد سوال اولت هم بايد بگم كه چون مي خواييم معلوم باشه كه چه مقدار پول براي چه قطعه اي هزينه شده؛ وگرنه مي شد كل پولي كه خرج شده رو در يه تكس باكس ريخت و از مبلغ كل كم كرد و خروجي گرفت .
    سلام
    خوب خوشگلم ایراد کارت همینجاست که خودتم داری میگی
    ما نمیتونیم رویدادهای تکست باکس ها رو برای هم فراخوانی کنیم ، منطقی هم نیست (کاربر توی این تکست باکس تایپ کرده نه تکست باکس دیگه )
    و موقع فراخوانی رویداد یه تکست باکس آرگومان های event مربوط به همون تکست باکس پر میشه نه تکست باکس های دیگه
    راه درست اینه که شما یه روال بنویسی و توسط رویدادهای تکست باکس های دیگه فراخوانی بشه

    ضمنا برای اون مشکلی هم که دارید در موردش بحث میکنید به نظرم بهتره به جای رویداد text change از رویداد leave مربوط به تکست باکس ها استفاده کنید. فکر می کنم مشکلتون حل بشه.

    امیدوارم توضیحم کامل بوده باشه.

  21. #21

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط setareh masompoor مشاهده تاپیک
    چرا برای هر textbox بنویسی
    یه حلقه foreach بذار بعد همه ی کنترل های textbox رو تو اون حلقه بررسی کن.
    برای اینکه با بقیه textbox ها هم اشتباه نشه و فقط اونایی که تو میخوای رو چک کنه از tag استفاده کن
    به اونایی که میخوای tag بده بعد تو شرطتت اونایی که textbox باشه و خاصیت tag هم مخالف null بود رو بررسی کن و مقدار 0 بده
    با تشكر از نظر شما، تكس باكس كه با هم اشتباه نميشن چون ما به همه تكس باكس ها نياز داريم؛ چون نمي دونيم كاربر قراره كدومش رو پر كنه.خودم برنامه رو درستش كردم البته يه تغيير خيلي كوچيك لازم داشت كه در چند پست بعدي كدش رو ميذارم شايد به درد دوستان خورد.

  22. #22

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط R_khaleghi مشاهده تاپیک
    شما می توانید از ابزار Maskedtextbox از مجموعه کامپوننت Telerik استفاده کنید و خاصیت Mask type را روی Number تنظیم کنید.
    موفق باشید.
    البته اين هم يه راه حله اما فرض كنيم من دسترسي به هيچ كامپوننتي ندارم !!! به نظر من برنامه نويسي مي تونه پيشرفت كنه و حرفه اي بشه كه تا حد ممكن، خودش نيازهاشو برطرف كنه!!! هر چند كه بعضي مواقع هم استفاده از كامپوننت هم مي تونه به كار سرعت ببخشه.

  23. #23

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط roolinjax مشاهده تاپیک
    سلام
    خوب خوشگلم ایراد کارت همینجاست که خودتم داری میگی
    ما نمیتونیم رویدادهای تکست باکس ها رو برای هم فراخوانی کنیم ، منطقی هم نیست (کاربر توی این تکست باکس تایپ کرده نه تکست باکس دیگه )
    و موقع فراخوانی رویداد یه تکست باکس آرگومان های event مربوط به همون تکست باکس پر میشه نه تکست باکس های دیگه
    راه درست اینه که شما یه روال بنویسی و توسط رویدادهای تکست باکس های دیگه فراخوانی بشه

    ضمنا برای اون مشکلی هم که دارید در موردش بحث میکنید به نظرم بهتره به جای رویداد text change از رویداد leave مربوط به تکست باکس ها استفاده کنید. فکر می کنم مشکلتون حل بشه.

    امیدوارم توضیحم کامل بوده باشه.
    ضمن تشكر از راهنمايي شما، اينكه نميشه ویدادهای تکست باکس ها رو برای هم فراخوانی كرد، فقط در مورد تكس باكس هاست ؟؟؟ يا همه كنترل هاي ديگه هم شامل ميشه ؟

    در مورد رویداد leave هم كه گفتين، من مي خوام كاربر بصورت لحظه اي تغييرات رو ببينه بنابراين بايد از همون text change استفاده كنم.

  24. #24

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    اينم كدي كه مشكل اصليش رو برطرف كردم:

    try
    {
    foreach (var c in this.Controls)
    {
    if (c.GetType() == typeof(TextBox))
    {
    if (((TextBox)c).Text != String.Empty)
    {
    sum += int.Parse(((TextBox)c).Text);
    }
    else
    {
    label1.Text = p.ToString();
    }
    }
    }
    label1.Text = (p - sum).ToString();
    sum = 0;
    }
    catch (Exception)
    {
    MessageBox.Show("لطفا عدد وارد كنيد");

    }


    من اين برنامه رو براي رويداد text change هر تكس باكسي نوشتم كه خب البته مي دونم اين كارم بهينه نيست و بايد از تابع استفاده كنم اما به مشكل بر مي خورم.ميشه تابع رو بدون ورودي در نظر گرفت و اين كد رو نوشت ؟؟؟
    ضمنا زماني كه كاربر چيزي جز عدد وارد كنه برنامه خطاي اكسپشن مي ده كه البته با پيغامي به كاربر رديف ميشه اما اون كاركتر در تكس باكس باقي مي مونه، كه بايد يادم بياد اون كدي كه از انتهاي تكس باكس حذف مي كرد چي بود . . .
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 30 شهریور 1394 در 21:02 عصر

  25. #25
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    35
    پست
    312

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    ضمن تشكر از راهنمايي شما، اينكه نميشه ویدادهای تکست باکس ها رو برای هم فراخوانی كرد، فقط در مورد تكس باكس هاست ؟؟؟ يا همه كنترل هاي ديگه هم شامل ميشه ؟

    در مورد رویداد leave هم كه گفتين، من مي خوام كاربر بصورت لحظه اي تغييرات رو ببينه بنابراين بايد از همون text change استفاده كنم.
    اولا بله فقط در مورد تکست باکس ها این مسئله وجود داره و دلیلش رو هم گفتم ، ولی مثلا برای فراخوانی رویداد کلیک دکمه براحتی میشه این کارو کرد و یا رویداد های دیگه که مربوط به صفحه کلید نیست.

    دوما خیلی داری کاربر رو متوقع میکنی !!!!!

  26. #26
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    35
    پست
    312

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    اينم كدي كه مشكل اصليش رو برطرف كردم:

    try
    {
    foreach (var c in this.Controls)
    {
    if (c.GetType() == typeof(TextBox))
    {
    if (((TextBox)c).Text != String.Empty)
    {
    sum += int.Parse(((TextBox)c).Text);
    }
    else
    {
    label1.Text = p.ToString();
    }
    }
    }
    label1.Text = (p - sum).ToString();
    sum = 0;
    }
    catch (Exception)
    {
    MessageBox.Show("لطفا عدد وارد كنيد");

    }


    من اين برنامه رو براي رويداد text change هر تكس باكسي نوشتم كه خب البته مي دونم اين كارم بهينه نيست و بايد از تابع استفاده كنم اما به مشكل بر مي خورم.ميشه تابع رو بدون ورودي در نظر گرفت و اين كد رو نوشت ؟؟؟
    ضمنا زماني كه كاربر چيزي جز عدد وارد كنه برنامه خطاي اكسپشن مي ده كه البته با پيغامي به كاربر رديف ميشه اما اون كاركتر در تكس باكس باقي مي مونه، كه بايد يادم بياد اون كدي كه از انتهاي تكس باكس حذف مي كرد چي بود . . .
    حسم میگه خیلی داری لقمه رو می پیچونی
    من دوباره پست اولتو خوندم و یه نظری دارم
    چرا برای هر تکست باکس یه متغیر در نظر نمی گیری که در صورت تایپ توی هر تکست باکس فقط تغییرات اعمال بشه ؟
    اینطوری دیگه نیازی به foreach هم نداری
    یعنی مقادیر هر تکست باکس تا زمانی که تغییر نکردن با مقادیر قبلیشون توی محاسبات شرکت می کنن
    حالا می تونی یه تابع ساده برای محاسبات خودت قرار بدی
    اگر میخوای برنامه ات رو بذار تا کمک کنم
    امیدوارم راه حلم درست باشه و پیاده سازی بشه
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 30 شهریور 1394 در 21:02 عصر

  27. #27

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

    نقل قول نوشته شده توسط roolinjax مشاهده تاپیک
    اولا بله فقط در مورد تکست باکس ها این مسئله وجود داره و دلیلش رو هم گفتم ، ولی مثلا برای فراخوانی رویداد کلیک دکمه براحتی میشه این کارو کرد و یا رویداد های دیگه که مربوط به صفحه کلید نیست.
    دوما خیلی داری کاربر رو متوقع میکنی !!!!!
    من دوست دارم لقمه رو جویده بدم به کاربر !!! حتی اگر می شد زحمت قورت دادنش رو هم خودم براش می کشیدم !!!
    نقل قول نوشته شده توسط roolinjax مشاهده تاپیک
    من دوباره پست اولتو خوندم و یه نظری دارم
    چرا برای هر تکست باکس یه متغیر در نظر نمی گیری که در صورت تایپ توی هر تکست باکس فقط تغییرات اعمال بشه ؟
    اینطوری دیگه نیازی به foreach هم نداری
    یعنی مقادیر هر تکست باکس تا زمانی که تغییر نکردن با مقادیر قبلیشون توی محاسبات شرکت می کنن
    حالا می تونی یه تابع ساده برای محاسبات خودت قرار بدی
    این چیزی که شما میگی به نظرم (که شاید اشتباه باشه !) یکم پیچیدگی کار رو زیاد می کنه!!! ببینین، کد ما خیلی ساده می گه که آقاجان هر چی تکس باکس داری تو فرم، مقدارشون رو جمع کن، از یه متغییری کم کن!!! اما به روش شما فکر کنم باید واسه هر تکس باکس کدی رو نوشت و متغیری تعریف کرد درسته ؟؟؟ البته اگر ایده ای رو که در سر دارین کد می کردین و میذاشتین اینجا، خب بهتر می شد قضاوت کرد و نظر داد.
    در مورد برنامه هم که می گی، خب من خوشحال هستم که شما نظراتت رو بیان می کنی و فکرت رو با من به اشتراک میذاری، من هم کل کدی که در موردش صحبت می کنیم رو گذاشتم اینجا دیگه !!!
    الان می خوام یکم اشکال زدایی کنم تابع رو تا ببینم چطور میشه تابع رو تعریف کرد که کدها کم حجم تر بشه، به محض رفع مشکل، کد ها رو اینجا خواهم گذاشت.

  28. #28

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change

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

  29. #29

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Changed

    عزیز این کد هرچی TextBox رو فرم باشه ، مقادیرش رو جمع میکنه میذاره تو متغیر Sum !

    دیگه بقیش با خودت. :)


    private void button1_Click_1(object sender, EventArgs e)
    {
    long sum = 0;
    foreach (Control ct in this.Controls)
    {
    if (ct is TextBox)
    sum += Convert.ToInt32(ct.Text);
    }
    label1.Text = sum.ToString();

    }


    راستی بنظرم خوبه این کارها تو رویداد کلیک یه دکمه همونطور که نوشتم انجام بشه

    و نه در TextChanged مربوط به TextBox ها.

    موفق باشید ./






  30. #30

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Changed

    نقل قول نوشته شده توسط Salar Ashgi مشاهده تاپیک
    عزیز این کد هرچی TextBox رو فرم باشه ، مقادیرش رو جمع میکنه میذاره تو متغیر Sum !

    دیگه بقیش با خودت. :)


    private void button1_Click_1(object sender, EventArgs e)
    {
    long sum = 0;
    foreach (Control ct in this.Controls)
    {
    if (ct is TextBox)
    sum += Convert.ToInt32(ct.Text);
    }
    label1.Text = sum.ToString();

    }


    راستی بنظرم خوبه این کارها تو رویداد کلیک یه دکمه همونطور که نوشتم انجام بشه

    و نه در TextChanged مربوط به TextBox ها.

    موفق باشید ./
    دوست عزیز باعرض سلام و ادب
    دقیقا مشکل من هم همینه که در فرمی میخوام کارsumانجام بدم که تکست باکسهای دیگه ای هم وجود داره
    ولی این کد تمام ابزارهای با مشخصه textboxراشناسائی میکنه
    ولی من میخوام مثلا 4 تکست باکس حاوی اعداد مورد نظر را با هم جمع کنه مثلا فرض کنید یک سند حسابداری 5 ردیفه احتمالا یک ردیف یا دو یا تمام انها حاوی عدد باشن
    انشاله تونسته باشم منظورم را برسونم
    اگر مقدور هست دراین زمینه این حقیر را راهنمایی بفرمائید
    باتشکر

  31. #31

    نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Changed

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

تاپیک های مشابه

  1. سوال: استفاده از رویداد Text changed در دیتا گرید ویو
    نوشته شده توسط sm_1366 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 08 خرداد 1393, 17:20 عصر
  2. سوال: جمع مقادير وارد شده يك فيلد با استفاده از كد
    نوشته شده توسط abas1388 در بخش Access
    پاسخ: 5
    آخرین پست: سه شنبه 03 آذر 1388, 19:23 عصر
  3. جمع مقادير يك ستون عددي
    نوشته شده توسط rezamahdizadeh در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: سه شنبه 19 شهریور 1387, 20:19 عصر
  4. جمع چند textbox بصورت real
    نوشته شده توسط tc1000 در بخش طراحی وب (Web Design)
    پاسخ: 10
    آخرین پست: پنج شنبه 04 مرداد 1386, 01:24 صبح
  5. پاسخ: 3
    آخرین پست: پنج شنبه 07 دی 1385, 15:23 عصر

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

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