: :
مانده تا پایان تخفیف
فقط تا آخر امروز
فقط امروز
حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش جداسازی اعداد یا Digit Grouping در سی شارپ

امروز موقع کار نیاز به یک TextBox داشتم که قابلیت Digit Grouping یا جداسازی اعداد رو پشتیبانی کنه، یعنی اعداد به صورت یکان، دهگان و ... جدا بشن. با جستجو چیزی که به کارم بیاد پیدا نکردم و خودم دست به کار شدم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید

با فرض اینکه یک TextBox با نام TextBox1 بر روی فرم ما قرار داره، کد زیر رو برای رویدادهای TextChanged و KeyPress اضافه کنید. کد زیر داخل Constructor فرم نوشته شده:

public Form1()
{
    InitializeComponent();
    var callTextChange = true;
    textBox1.TextChanged += (sender, args) =>
    {
        if (!callTextChange)
            return;
        var textBox = (TextBox)sender;
        var selectionIsLast = textBox.SelectionStart == textBox1.TextLength;
        var lastSelectionStart = textBox.Text.Length - textBox1.SelectionStart;
        var numberText = textBox.Text.Replace(",", "");
        var newText = string.Empty;
        var separatorFlag = 0;
        for (var counter = numberText.Length - 1; counter >= 0; counter--)
        {
            newText = newText + numberText[counter];
            separatorFlag++;
            if (separatorFlag == 3 && counter == 0)
                break;
            if (separatorFlag != 3)
                continue;
            newText = newText + ',';
            separatorFlag = 0;
        }
        callTextChange = false;
        textBox.Text = string.Join("", newText.Reverse());
        callTextChange = true;
        if (selectionIsLast)
            textBox.SelectionStart = textBox.TextLength;
        else
            textBox.SelectionStart = textBox.TextLength < lastSelectionStart ? 0 : textBox.TextLength - lastSelectionStart;
    };
    textBox1.KeyPress += (sender, args) =>
    {
        if (char.IsDigit(args.KeyChar) || args.KeyChar == '\b')
            return;
        args.Handled = true;
    };
}

نمونه اجرای برنامه:

نمونه اجرای برنامه Digit Group

یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.

برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ،  آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات