-
جمع مقادير 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();
}
}
}
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
چیزی که میخواین فوق العاده اشتباهه. این که کاربر تا یه عددی تایپ کرد بیاد محاسبه انجام بشه اصلا با عقل جور در نمیاد مثلا کاربر میخواد عدد بیست و سه رو وارد کنه وقتی دو رو زد میاد دوتا کم میکنه بعد که سه هم بهش اضافه شد اونوقت میاد بیست و سه رو کم میکنه. اینجوری بیست و پنج تا از متغییر کم شده
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
خب چرا تو یه تک باکس نوشتی؟؟؟
تو یه رویداد بنویس بعد این رویداد رو تو textchange هر تکس باکی فراخوانی کن
البته نظر amir هم درسته اما کلا اون کار رو اگه بخوای انجام بدی راهش اینه
-
1 ضمیمه
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
سلام.
این فقط یک نمونه هست. امیدوارم به کارت بیاد:
ضمیمه 110463
موفق باشید.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
amir200h
چیزی که میخواین فوق العاده اشتباهه. این که کاربر تا یه عددی تایپ کرد بیاد محاسبه انجام بشه اصلا با عقل جور در نمیاد مثلا کاربر میخواد عدد بیست و سه رو وارد کنه وقتی دو رو زد میاد دوتا کم میکنه بعد که سه هم بهش اضافه شد اونوقت میاد بیست و سه رو کم میکنه. اینجوری بیست و پنج تا از متغییر کم شده
چرا با عقل جور در نمياد ؟؟؟ فرض كن شما يه پولي به كاربر ميدي، مي گي برو با اين پول چندتا قطعه بخر، خب حالا زماني مي توني خريدت رو ثبت كني كه پول خرج شده با پولي كه به كاربر دادي برابر باشن؛ نه كمتر و نه بيشتر !! كاربر هم هر چيزي رو كه مي خره، پولش رو وارد تكس باكس ها مي كنه و برنامه هم حساب مي كنه كه چقدر خرج شده و چقدر هم باقي مونده !!! اين كجاش اشتباست ؟؟؟
در مورد اون مشكلي هم كه گفتي،نه اينطور نيست! چون هر بار مياد از مقدار اوليه P كم مي كنه نه اون مقداري كه قبلا ازش كم كرده !
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
setareh masompoor
خب چرا تو یه تک باکس نوشتی؟؟؟
تو یه رویداد بنویس بعد این رویداد رو تو textchange هر تکس باکی فراخوانی کن
البته نظر amir هم درسته اما کلا اون کار رو اگه بخوای انجام بدی راهش اینه
خب من دقيقا همين كار رو كردم اما جواب نميده !!! من رويداد text changr بقيه تكس باكس هارو متصل كردم به تكس باكسي كه برنامه رو توش نوشتم اما كار نمي كنه!!!
در مورد سوال اولت هم بايد بگم كه چون مي خواييم معلوم باشه كه چه مقدار پول براي چه قطعه اي هزينه شده؛ وگرنه مي شد كل پولي كه خرج شده رو در يه تكس باكس ريخت و از مبلغ كل كم كرد و خروجي گرفت .
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
behnam-soft
چرا با عقل جور در نمياد ؟؟؟ فرض كن شما يه پولي به كاربر ميدي، مي گي برو با اين پول چندتا قطعه بخر، خب حالا زماني مي توني خريدت رو ثبت كني كه پول خرج شده با پولي كه به كاربر دادي برابر باشن؛ نه كمتر و نه بيشتر !! كاربر هم هر چيزي رو كه مي خره، پولش رو وارد تكس باكس ها مي كنه و برنامه هم حساب مي كنه كه چقدر خرج شده و چقدر هم باقي مونده !!! اين كجاش اشتباست ؟؟؟
در مورد اون مشكلي هم كه گفتي،نه اينطور نيست! چون هر بار مياد از مقدار اوليه P كم مي كنه نه اون مقداري كه قبلا ازش كم كرده !
اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
amir200h
اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی
واسه اینکه این مشکل حل بشه یعنی به جای 23، 25 کم نشه می تونی هربار که تکس باکس تغییر میکنه Clear کنی.
این مشکل حل میشه.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
R_khaleghi
واسه اینکه این مشکل حل بشه یعنی به جای 23، 25 کم نشه می تونی هربار که تکس باکس تغییر میکنه Clear کنی.
این مشکل حل میشه.
خوب اینجوری اول دو کم میشه بعد تکست باکس پاک میشه بعد که سه رو زد سه تا کم میشه و در نهایت پنج تا کم میشه نه بیست و سه تا :چشمک:
-
1 ضمیمه
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
[
نقل قول:
نوشته شده توسط
amir200h
خوب اینجوری اول دو کم میشه بعد تکست باکس پاک میشه بعد که سه رو زد سه تا کم میشه و در نهایت پنج تا کم میشه نه بیست و سه تا :چشمک:
فایل ضمیمه را یه نگاه بندازین:
ضمیمه 110466
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
R_khaleghi
بله حق با شماست. من تکست باکس جمع همه رو نادیده گرفته بودم
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
R_khaleghi
سلام.
این فقط یک نمونه هست. امیدوارم به کارت بیاد:
موفق باشید.
سلام، با تشكر از توجه شما، ورژن ويژوال استديوي من 2008 هست و برنامه شما رو باز نكرد.اما من كدهايي كه در فايل Form1 نوشته بوديد رو نگاه و تست كردم و جواب نداد !!چون شما در رويداد هر تكس باكس نوشتين كه بيا مقدار هاي بقيه تكس باكس ها رو هم جمع كن، خب حالا اگه كاربر خواست فقط در تكس باكس 2 مقدار وارد كنه،برنامه خطا ميگيره ! چرا ؟ چون شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
amir200h
اینکه این کارها تو رویداد text change گذاشته بشه اشتباهه. شما یه امتحان کن متوجه حرفام میشی
داداش من اتفاقا بايد تو همين رويداد نوشته بشه !!! امتحان هم كردم و جواب هم گرفتم اما فقط واسه يه تكس باكس !!! نمي دونم چرا براي بقيه تكس باكسا جواب نميده !!! البته من اومدم يه به علاوه كوچولو هم جلوي متغير SUMگذاشتم كه اول همه تكس باكس ها مقاديرشون رو اگر خالي نيستن، جمع كنه و در نهايت از پول اوليه كم كنه كه متاسفانه، برنامه وارد فازهاي ديگه اي شد و جواب نداد !!!
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
behnam-soft
سلام، با تشكر از توجه شما، ورژن ويژوال استديوي من 2008 هست و برنامه شما رو باز نكرد.اما من كدهايي كه در فايل Form1 نوشته بوديد رو نگاه و تست كردم و جواب نداد !!چون شما در رويداد هر تكس باكس نوشتين كه بيا مقدار هاي بقيه تكس باكس ها رو هم جمع كن، خب حالا اگه كاربر خواست فقط در تكس باكس 2 مقدار وارد كنه،برنامه خطا ميگيره ! چرا ؟ چون شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!
سلام.
پیش فرض مقدار تمام تکس باکس ها را برابر صفر قرار بدین درست میشه.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
شما گفتي همه رو با هم جمع كن در صورتي كه مقدار بقيه تكس باكس ها خالي هست و برنامه خطاي اكسپشن مي ده !!!
برای اینکه خطا نگیره میتونی قبل جمع کردن این شرطتو بذاری که مقدار textbox ها خالی بود بهش مقدار 0 بده
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
ضمنا امير آقا كاري كه من دارم انجام مي دم مشابه اون برنامه اي هست كه در يه تكس باكسي كاربر عدد وارد مي كنه و هم زمان كه عدد وارد ميشه ،كاربر مي تونه معادل حروفي اون كنار تكس باكس ميبينه !!! كه طبيعاتا ممكنه كاربر عددي رو پاك يا اضافه كنه !!!با اين تفاوت كه من مي گم بيا يه كار ديگه كن !!! پس دقيقا بايد در رويداد Text Change نوشت برنامه رو !!!
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
setareh masompoor
برای اینکه خطا نگیره میتونی قبل جمع کردن این شرطتو بذاری که مقدار textbox ها خالی بود بهش مقدار 0 بده
با تشكر از توجه شما، حرف شما درسته اما تعداد تكس باكس هاي من يكم زياده !!! به نظرم منطقي نيست بخوام واسه هر تكس باكسي، بيايم كلي شرط بذارم كه تكس باكس ها رو بررسي كنه !!! فكر مي كنم منظقي تر و ساده تر، همين كديه كه نوشتم، اما چرا براي بقيه تكس باكس ها جوا نمي ده، نمي دونم!
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
behnam-soft
با تشكر از توجه شما، حرف شما درسته اما تعداد تكس باكس هاي من يكم زياده !!! به نظرم منطقي نيست بخوام واسه هر تكس باكسي، بيايم كلي شرط بذارم كه تكس باكس ها رو بررسي كنه !!!
شما می توانید از ابزار Maskedtextbox از مجموعه کامپوننت Telerik استفاده کنید و خاصیت Mask type را روی Number تنظیم کنید.
موفق باشید.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
چرا برای هر textbox بنویسی
یه حلقه foreach بذار بعد همه ی کنترل های textbox رو تو اون حلقه بررسی کن.
برای اینکه با بقیه textbox ها هم اشتباه نشه و فقط اونایی که تو میخوای رو چک کنه از tag استفاده کن
به اونایی که میخوای tag بده بعد تو شرطتت اونایی که textbox باشه و خاصیت tag هم مخالف null بود رو بررسی کن و مقدار 0 بده
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
behnam-soft
خب من دقيقا همين كار رو كردم اما جواب نميده !!! من رويداد text changr بقيه تكس باكس هارو متصل كردم به تكس باكسي كه برنامه رو توش نوشتم اما كار نمي كنه!!!
در مورد سوال اولت هم بايد بگم كه چون مي خواييم معلوم باشه كه چه مقدار پول براي چه قطعه اي هزينه شده؛ وگرنه مي شد كل پولي كه خرج شده رو در يه تكس باكس ريخت و از مبلغ كل كم كرد و خروجي گرفت .
سلام
خوب خوشگلم ایراد کارت همینجاست که خودتم داری میگی
ما نمیتونیم رویدادهای تکست باکس ها رو برای هم فراخوانی کنیم ، منطقی هم نیست (کاربر توی این تکست باکس تایپ کرده نه تکست باکس دیگه )
و موقع فراخوانی رویداد یه تکست باکس آرگومان های event مربوط به همون تکست باکس پر میشه نه تکست باکس های دیگه
راه درست اینه که شما یه روال بنویسی و توسط رویدادهای تکست باکس های دیگه فراخوانی بشه
ضمنا برای اون مشکلی هم که دارید در موردش بحث میکنید به نظرم بهتره به جای رویداد text change از رویداد leave مربوط به تکست باکس ها استفاده کنید. فکر می کنم مشکلتون حل بشه.
امیدوارم توضیحم کامل بوده باشه.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
setareh masompoor
چرا برای هر textbox بنویسی
یه حلقه foreach بذار بعد همه ی کنترل های textbox رو تو اون حلقه بررسی کن.
برای اینکه با بقیه textbox ها هم اشتباه نشه و فقط اونایی که تو میخوای رو چک کنه از tag استفاده کن
به اونایی که میخوای tag بده بعد تو شرطتت اونایی که textbox باشه و خاصیت tag هم مخالف null بود رو بررسی کن و مقدار 0 بده
با تشكر از نظر شما، تكس باكس كه با هم اشتباه نميشن چون ما به همه تكس باكس ها نياز داريم؛ چون نمي دونيم كاربر قراره كدومش رو پر كنه.خودم برنامه رو درستش كردم البته يه تغيير خيلي كوچيك لازم داشت كه در چند پست بعدي كدش رو ميذارم شايد به درد دوستان خورد.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
R_khaleghi
شما می توانید از ابزار Maskedtextbox از مجموعه کامپوننت Telerik استفاده کنید و خاصیت Mask type را روی Number تنظیم کنید.
موفق باشید.
البته اين هم يه راه حله اما فرض كنيم من دسترسي به هيچ كامپوننتي ندارم !!! به نظر من برنامه نويسي مي تونه پيشرفت كنه و حرفه اي بشه كه تا حد ممكن، خودش نيازهاشو برطرف كنه!!! هر چند كه بعضي مواقع هم استفاده از كامپوننت هم مي تونه به كار سرعت ببخشه.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
roolinjax
سلام
خوب خوشگلم ایراد کارت همینجاست که خودتم داری میگی
ما نمیتونیم رویدادهای تکست باکس ها رو برای هم فراخوانی کنیم ، منطقی هم نیست (کاربر توی این تکست باکس تایپ کرده نه تکست باکس دیگه )
و موقع فراخوانی رویداد یه تکست باکس آرگومان های event مربوط به همون تکست باکس پر میشه نه تکست باکس های دیگه
راه درست اینه که شما یه روال بنویسی و توسط رویدادهای تکست باکس های دیگه فراخوانی بشه
ضمنا برای اون مشکلی هم که دارید در موردش بحث میکنید به نظرم بهتره به جای رویداد text change از رویداد leave مربوط به تکست باکس ها استفاده کنید. فکر می کنم مشکلتون حل بشه.
امیدوارم توضیحم کامل بوده باشه.
ضمن تشكر از راهنمايي شما، اينكه نميشه ویدادهای تکست باکس ها رو برای هم فراخوانی كرد، فقط در مورد تكس باكس هاست ؟؟؟ يا همه كنترل هاي ديگه هم شامل ميشه ؟
در مورد رویداد leave هم كه گفتين، من مي خوام كاربر بصورت لحظه اي تغييرات رو ببينه بنابراين بايد از همون text change استفاده كنم.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد 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 هر تكس باكسي نوشتم كه خب البته مي دونم اين كارم بهينه نيست و بايد از تابع استفاده كنم اما به مشكل بر مي خورم.ميشه تابع رو بدون ورودي در نظر گرفت و اين كد رو نوشت ؟؟؟
ضمنا زماني كه كاربر چيزي جز عدد وارد كنه برنامه خطاي اكسپشن مي ده كه البته با پيغامي به كاربر رديف ميشه اما اون كاركتر در تكس باكس باقي مي مونه، كه بايد يادم بياد اون كدي كه از انتهاي تكس باكس حذف مي كرد چي بود . . .
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
behnam-soft
ضمن تشكر از راهنمايي شما، اينكه نميشه ویدادهای تکست باکس ها رو برای هم فراخوانی كرد، فقط در مورد تكس باكس هاست ؟؟؟ يا همه كنترل هاي ديگه هم شامل ميشه ؟
در مورد رویداد leave هم كه گفتين، من مي خوام كاربر بصورت لحظه اي تغييرات رو ببينه بنابراين بايد از همون text change استفاده كنم.
اولا بله فقط در مورد تکست باکس ها این مسئله وجود داره و دلیلش رو هم گفتم ، ولی مثلا برای فراخوانی رویداد کلیک دکمه براحتی میشه این کارو کرد و یا رویداد های دیگه که مربوط به صفحه کلید نیست.
دوما خیلی داری کاربر رو متوقع میکنی !!!!!
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد 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 هم نداری
یعنی مقادیر هر تکست باکس تا زمانی که تغییر نکردن با مقادیر قبلیشون توی محاسبات شرکت می کنن
حالا می تونی یه تابع ساده برای محاسبات خودت قرار بدی
اگر میخوای برنامه ات رو بذار تا کمک کنم
امیدوارم راه حلم درست باشه و پیاده سازی بشه
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
نقل قول:
نوشته شده توسط
roolinjax
اولا بله فقط در مورد تکست باکس ها این مسئله وجود داره و دلیلش رو هم گفتم ، ولی مثلا برای فراخوانی رویداد کلیک دکمه براحتی میشه این کارو کرد و یا رویداد های دیگه که مربوط به صفحه کلید نیست.
دوما خیلی داری کاربر رو متوقع میکنی !!!!!
من دوست دارم لقمه رو جویده بدم به کاربر !!! حتی اگر می شد زحمت قورت دادنش رو هم خودم براش می کشیدم !!!
نقل قول:
نوشته شده توسط
roolinjax
من دوباره پست اولتو خوندم و یه نظری دارم
چرا برای هر تکست باکس یه متغیر در نظر نمی گیری که در صورت تایپ توی هر تکست باکس فقط تغییرات اعمال بشه ؟
اینطوری دیگه نیازی به foreach هم نداری
یعنی مقادیر هر تکست باکس تا زمانی که تغییر نکردن با مقادیر قبلیشون توی محاسبات شرکت می کنن
حالا می تونی یه تابع ساده برای محاسبات خودت قرار بدی
این چیزی که شما میگی به نظرم (که شاید اشتباه باشه !) یکم پیچیدگی کار رو زیاد می کنه!!! ببینین، کد ما خیلی ساده می گه که آقاجان هر چی تکس باکس داری تو فرم، مقدارشون رو جمع کن، از یه متغییری کم کن!!! اما به روش شما فکر کنم باید واسه هر تکس باکس کدی رو نوشت و متغیری تعریف کرد درسته ؟؟؟ البته اگر ایده ای رو که در سر دارین کد می کردین و میذاشتین اینجا، خب بهتر می شد قضاوت کرد و نظر داد.
در مورد برنامه هم که می گی، خب من خوشحال هستم که شما نظراتت رو بیان می کنی و فکرت رو با من به اشتراک میذاری، من هم کل کدی که در موردش صحبت می کنیم رو گذاشتم اینجا دیگه !!!
الان می خوام یکم اشکال زدایی کنم تابع رو تا ببینم چطور میشه تابع رو تعریف کرد که کدها کم حجم تر بشه، به محض رفع مشکل، کد ها رو اینجا خواهم گذاشت.
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Change
دوست عزیز این کد را برای سی شارپ بنویسید تا ما هم نظر بدیم
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد 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 ها.
موفق باشید ./
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد 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 ردیفه احتمالا یک ردیف یا دو یا تمام انها حاوی عدد باشن
انشاله تونسته باشم منظورم را برسونم
اگر مقدور هست دراین زمینه این حقیر را راهنمایی بفرمائید
باتشکر
-
نقل قول: جمع مقادير تكست باكس ها با استفاده از رويداد text Changed
کد را اجرا کردم خطای فرمت میده علتش چیه؟بخاطره اینه که بعضی تکست ها متن داخلش نوشته میشه؟
باید چکارش کنیم؟