PDA

View Full Version : سوال: ساخت جداکننده تعداد اعداد در تکست باکس



aminaltavista
سه شنبه 04 مهر 1391, 09:08 صبح
سلام

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


دمتون گرم

Mahmoud Zaad
سه شنبه 04 مهر 1391, 09:21 صبح
سلام
متوجه منظورتون نشدم. لطفاً دقیقتر توضیح بدید.

abcd_a
سه شنبه 04 مهر 1391, 09:28 صبح
سلام
می تونید از textBox اقای حبیبی در لینک زیر استفاده کنید

http://barnamenevis.org/showthread.php?318486-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D8%AA%D9%83%D8%B3%D8%AA-%D8%A8%D8%A7%D9%83%D8%B3-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%D9%8A-%D8%A8%D8%A7%D9%83%D9%84%D9%8A-%D8%A7%D9%85%D9%83%D8%A7%D9%86%D8%A7%D8%AA-%D8%A8%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D8%B3%D9%88%D8%B1%D8%B3

aminaltavista
سه شنبه 04 مهر 1391, 09:39 صبح
سلام
متوجه منظورتون نشدم. لطفاً دقیقتر توضیح بدید.

منظورم AutoSprated هست به عبارتی داخل درگاه های اینترنتی پرداخت بانکها وقتی وارد کنید 1234565 میشه 1,234,565

Mahmoud Zaad
سه شنبه 04 مهر 1391, 09:49 صبح
یه جوری سوالتو پرسیدی، ترسیدم!!
خیلی راحت در رویداد textChange تکست باکس می نویسید:
if (!string.IsNullOrEmpty(textBox1.Text))
{
textBox1.Text = string.Format("{0:n0}", double.Parse(textBox1.Text.Replace(",", "")));
textBox1.Select(textBox1.Text.Length, 0);
}

aminaltavista
سه شنبه 04 مهر 1391, 09:58 صبح
مشتی هسی ! :قلب: دمت گرم:تشویق:

فقط یه توضیح مختصر در مورد داخل if میدید که روند کار چگونه هست؟

Mahmoud Zaad
سه شنبه 04 مهر 1391, 10:20 صبح
شرط چک میکنه اگه استرینگ null یا خالی(empty) نبود(! - این علامت تعجب نیست ها ، منظور علامتیه که توی شرطه)
{
مقدار تکست باکس برابر بشه با مقدار تکست باکس وقتی که متنش با {0:n0} (http://msdn.microsoft.com/en-us/library/fht0f5be(v=vs.80).aspx) فرمت بشه و همینطور جاهای خالی با علامت , جایگزین (Replace) بشن، خط آخری هم برای اینه که کرسر یه جا وایسته! هی ورجه وورجه نکنه اگه این خطو کامنت کنی و نتیجه رو ببینی متوجه منظورم میشی.
}

ali_habibi1384
سه شنبه 04 مهر 1391, 12:51 عصر
توي تكست باكسي كه طراحي كردم علاوه بر خاصيت AutoSeprator كلي خصوصيات ديگه وجود داره كه ميتونيد ازش بهره بگيريد.
لينك دانلود در امضاي من وجود داره

aminaltavista
سه شنبه 04 مهر 1391, 23:44 عصر
حتما این کارو کردم . شما یه Designer واقعی هستید . :تشویق: اگه درش مشکلی دیدم بهتون اطلاع میدم.

راستی من بهتون پیشنهاد میکنم براش foreground ایجاد کنید. که یه جلوه هم به گرافیکش داده باشید. راستش تو silverlight مایکروسافت این خاصیت رو دیدم وبا شوق اومدم ازش استفاده کنم ! خوب که جلو رفتم فهمیدم برا .net 4.5 هست اما من از 3.5 استفاده میکنم.:افسرده:

ali_habibi1384
چهارشنبه 05 مهر 1391, 07:27 صبح
حتما این کارو کردم . شما یه Designer واقعی هستید . :تشویق: اگه درش مشکلی دیدم بهتون اطلاع میدم.

راستی من بهتون پیشنهاد میکنم براش foreground ایجاد کنید. که یه جلوه هم به گرافیکش داده باشید. راستش تو silverlight مایکروسافت این خاصیت رو دیدم وبا شوق اومدم ازش استفاده کنم ! خوب که جلو رفتم فهمیدم برا .net 4.5 هست اما من از 3.5 استفاده میکنم.:افسرده:
خواهش ميكنم:خجالت:مشكلات و پيشنهادات رو توي همون تاپيكي كه واسه تكست باكس ايجاد كردم بذاريد. خاصيت foreground كه ميگيد رو فكر ميكنم داره اگر اون چيزي كه من در نظرم هست.اگر نه كه توي همون تاپيك پيشنهادتونو مطرح كنيد.

banitaba.ommolketab
چهارشنبه 05 مهر 1391, 11:51 صبح
چرا از masked textbox استفاده نمیکنی؟!

علی فتحی
شنبه 14 تیر 1393, 23:52 عصر
تکس باکس پولی هست درست اعدادرو هم جدا میکنه .ولی برای ذخیره و وارد کردن 28 رکود مثلا حقوق و انواع مزایا این همه تغییرات بنظرتون کد زیاد نمیشه.توی تکس تک تک اونا این کدو بنویسی

aminaltavista
یک شنبه 15 تیر 1393, 06:39 صبح
تکس باکس پولی هست درست اعدادرو هم جدا میکنه .ولی برای ذخیره و وارد کردن 28 رکود مثلا حقوق و انواع مزایا این همه تغییرات بنظرتون کد زیاد نمیشه.توی تکس تک تک اونا این کدو بنویسی

خب جیگر طلا
دوتا نکته رو رعایت نکردی:

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

Hadoop
یک شنبه 15 تیر 1393, 07:15 صبح
سورس و کنترل مخصوص و رج اکس و ... فکر نکنم لازم داشته باشه.

کل قضیه اینه : بعد از هر سه کاراکتر عددی که تایپ میشه یک عدد کاما درج بشه . همین

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


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

علی فتحی
یک شنبه 15 تیر 1393, 15:04 عصر
private void textBox10_TextChanged(object sender, EventArgs e)
{
toolTip1.Active = true;
if (!string.IsNullOrEmpty(textBox10.Text))
{
string str = string.Format("{0:n0}", double.Parse(textBox10.Text.Replace(",", "")));
textBox10.Select(textBox1.Text.Length, 0);
toolTip1.Show(str, textBox10);
}