Limitar a escribir 4 dígitos después de punto decí
Espero puedan ayudarme con esto, tengo un formulario con textbox en los que el usuario escribe cantidades con punto decimal, lo que quiero hacer es que solo se permita escribir cuatro dígitos numéricos después del punto decimal, es decir identificar el punto decimal y solo dejar espacio para que el usuario escriba 4 números más, la verdad soy nueva en esto y no tengo mucho idea de como podría hacerlo, agradecería mucho la ayuda, y si pueden ayudarme con c# seria muchísimo mejor.
Estuve investigando este caso y encontré lo siguiente debe utilizar el control Microsoft Maskededit. Abra un proyecto nuevo y coloque el control Maskededit, luego hacer click en personalizado y colocar lo siguiente : Mask = ###############.#### Maxlength = 20 Format = ##############0.0000 PromptChar = " " (espacio) He colocado también un Textbox para mover el resultado editado. Este es el código para probarlo : Dim Enteros As Byte Dim Punto As Byte Dim Posicion As Byte Dim Texto As String Sub Masked_Key_Press(MskEdit As MaskEdBox, keyascii As Integer) ' Calculamos la ubicación del punto decimal Punto = InStr(MskEdit.Mask, ".") Enteros = Punto - 1 ' Chequeamos cuando opriman el punto If keyascii = 46 And MskEdit.SelStart < Punto Then Posicion = MskEdit.SelStart + 1 ' Guardamos la posición MskEdit.SelStart = 0 MskEdit.SelLength = Posicion ' Highlight up to the current Texto = MskEdit.SelText ' Salvamos lo insertado MskEdit.SelLength = Enteros MskEdit.SelText = "" ' Limpiamos la parte entera MskEdit.SelStart = Punto - Posicion MskEdit.SelLength = Posicion ' Reposition caret MskEdit.SelText = Texto ' Pegamos lo salvado MskEdit.SelStart = Punto ' Vamos a la posicion del punto decimal End If End Sub Private Sub MaskEdBox1_GotFocus() MaskEdBox1.SelStart = 0 MaskEdBox1.SelLength = Len(MaskEdBox1) End Sub Private Sub MaskEdBox1_KeyPress(keyascii As Integer) Call Masked_Key_Press(MaskEdBox1, keyascii) If keyascii = 13 Then SendKeys "{tab}" End Sub Private Sub MaskEdBox1_LostFocus() Text1 = Format(MaskEdBox1, "####,###,##0.0000") End Sub Suerte ! El inconveniente es que si necesita manejar números negativos, este control no permite signo.