دوست عزیز تبریک میگم به خاطر کنترل خوبی که نوشتین و حس نوعدوستیتون برای به اشتراک گذاشتنش و کم کردن دردی از دردای برنامه نویسا ;) جسارتاً برای حل مشکل Paste این کد رو اضافه کنین و البته توجه داشته باشین فقط دارم ایده رو میدم بهتون و اضافه کردن این کد کلاً امکانات کنترل رو با مشکل روبرو میکنه :
private const int WM_PASTE = 0x0302;
[System.Diagnostics.DebuggerHidden()]
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_PASTE)
isTextPasted = true;
base.WndProc(ref m);
}
و بعد در متد OnTextChanged که قبلا Overrideش کردین اضافه کنین :
if (isTextPasted)
{
string text = String.Empty;
for (int i = 0; i < Text.Length; i++)
if (Char.IsNumber(Text[i]))
text += Text[i];
isTextPasted = false;
Text = text;
}
راستی چرا برای ممیز سه رقم سه رقم از این کد استفاده نکردین ؟
مثلاً :
int i = 1234567890;
MessageBox.Show(i.ToString("#,##"));