Hola todos.
estoy haciendo un programa sobre las operaciones básicas entre matrices (suma, resta y multiplicación), anteriormente habia posteado para que me den una idea sobre el diseño, me sirvió de mucho.
estoy usando el textbox para ingresar los datos de la matriz pero estoy dando vueltas en dos problemas que aun no logro resolver.
dim cuadro as control
cuadro = new textbox
Panel1.Controls.add(cuadro)
cuadro.location = new point(x,y)
cuadro.MaxLength= 3 --> aqui el problema
no me permite que especifique un maximo de carácteres al textbox ¿por qué?
el otro problema es que quiero ingresar solo números al textbox
pero no sé como aplicar este código a todos los textboxs que voy a crear, ya que voy crear dos matrices de un máximo de 7x7 que en un total seria 98 textboxs para ingresar datos, aplicando el método keypress a cada uno me saldría muy largo.
If InStr(1, "0123456789", e.KeyChar) = 0 Then
e.KeyChar = ""
End If
Gracias por su tiempo.
1. :http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox.maxlength%28v=VS.80%29.aspx
2. :http://www.elguille.info/colabora/puntoNET/ar_SoloNumeros.htm
gracias por responder
para crear los textboxs lo hice de esta manera
Dim myarray(7, 7) As Control
myarray(1,1) = new textbox
debió ser por eso que la propiedad maxLength me daba error
tengo que cambiar mi código ahora no me acepta crear un array
dim myarray(7,7) as new textbox
voy a leer algunos texto haber que encuentro.
debes cambiar
Dim cuadro As Control
Por
Dim cuadro As TextBox
Esto es porque la clase control no tiene la propiedad maxlength y por eso no se la puedes aplicar.
Ademas, primero pon todas las propiedades y eventos. Luego lo agregas al formulario con Controls.Add
Para el evento de los numeros, tienes que agregar un delegado... Ej
AddHandler cuadro.KeyPress, new EventHandler(AdressOf cuadro_KeyPress)
'........
Private Sub cuadro_KeyPress(ByVal sender As Object, ByVal e As EventArgs)
'codigo para solo numeros
End Sub
Saludos!
Pd: escribi todo esto desde el mobil D:
Hola raul, gracias por responder, estoy atrapado con el array de textbox
te pasó mi código.
Public Class Form1
Dim myarray(7, 7) As Control
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NumericX As Integer
Dim NumericY As Integer
Dim i, j As Integer
Dim formulax As Decimal
Dim formulay As Decimal
NumericX = Contx.Value
NumericY = Conty.Value
formulax = (Matriz1.Width / 2) - ((25 / 2) * NumericX + (NumericX - 1) * (10 / 2))
formulay = (Matriz1.Height / 2) - ((20 / 2) * NumericY + (NumericY - 1) * (10 / 2))
For i = 1 To NumericX Step 1
For j = 1 To NumericY Step 1
myarray(i, j) = New TextBox
Matriz1.Controls.Add(myarray(i, j))
myarray(i, j).Location = New Point((formulax + (i - 1) * 35), (formulay + (j - 1) * 30))
myarray(i, j).Size = New Size(25, 20)
¡myarray(i, j).MaxLength = 5 [color=red]problema[/color]
Next
Next
Button1.Enabled = False
Button2.Enabled = True
End Sub
End Class
hasta ahi estaba bien, porque podía crear la matriz de textbox
pero ahora queriendo hacerlo
con:
dim matriz as textbox
dim matriz as textbox = new textbox() {matriz1,matriz2... matriz89}
ni idea como hacerlo, leo y re leo lo que hay en googl pero no lo entiendo.
te dije que cambies "dim matriz(7, 7) As control" por "Dim matriz(7,7) As Textbox"
Solo cambia esa linea de codigo y te funcionara perfecto.
Mira lo que dices cuando lo intentas cambiar... Estas asignando una matriz a una variable comun!!!
gracias por la molestía, estaba en un error en el ambito de la variable, pero ya lo solucioné, gracias