سلام دوستان
می خواستم بدونم آیا راهی هست درون یک TextBox یکسری عدد نوشته بشه و این اعداد به صورت دیجیتالی یعنی سه تا سه تا با یک ویرگول از هم جدا بشن
البته بدون استفاده از MaskedTextBox
VB.Net 2005
Printable View
سلام دوستان
می خواستم بدونم آیا راهی هست درون یک TextBox یکسری عدد نوشته بشه و این اعداد به صورت دیجیتالی یعنی سه تا سه تا با یک ویرگول از هم جدا بشن
البته بدون استفاده از MaskedTextBox
VB.Net 2005
این سورسو تو رویداد TextChange بنویس
اگر هم میخوای به غیر عدد نشه چیز دیگه ای تایپ کرد این سورسو تو رویداد KeyPress بنویسکد:
PrivateSub Txtallmoney_TextChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Txtallmoney.TextChanged
Dim str AsString
If Txtallmoney.Text.Length > 3 Then
SendKeys.Send("{end}")
str = Format$(Txtallmoney.Text.Replace(",", ""))
Txtallmoney.Text = Format$(Val(str), "###,###,###")
Else
Txtallmoney.Text = CDbl(Txtallmoney.Text)
EndIf
EndSub
کد:
PrivateSub Txtallmoney_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txtallmoney.KeyPress
IfChar.IsNumber(e.KeyChar) = FalseThen
e.Handled = True
EndIf
If e.KeyChar = (vbBack) Then
e.Handled = False
EndIf
If e.KeyChar = (vbTab) Then
e.Handled = False
EndIf
EndSub