Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Krizzz en 15 Septiembre 2010, 04:38 am



Título: [Solucionado] límite de carácteres en textbox
Publicado por: Krizzz en 15 Septiembre 2010, 04:38 am
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.


Título: Re: límite de carácteres en textbox
Publicado por: Shell Root en 15 Septiembre 2010, 04:54 am
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


Título: Re: límite de carácteres en textbox
Publicado por: Krizzz en 15 Septiembre 2010, 05:15 am
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.


Título: Re: límite de carácteres en textbox
Publicado por: raul338 en 15 Septiembre 2010, 05:44 am
debes cambiar
Código
  1. Dim cuadro As Control
Por
Código
  1. 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
Código
  1. AddHandler cuadro.KeyPress, new EventHandler(AdressOf cuadro_KeyPress)
  2.  
  3. '........
  4. Private Sub cuadro_KeyPress(ByVal sender As Object, ByVal e As EventArgs)
  5.     'codigo para solo numeros
  6. End Sub

Saludos!

Pd: escribi todo esto desde el mobil D:


Título: Re: límite de carácteres en textbox
Publicado por: Krizzz en 15 Septiembre 2010, 06:27 am
Hola raul, gracias por responder, estoy atrapado con el array de textbox
te pasó mi código.
Código
  1. Public Class Form1
  2.    Dim myarray(7, 7) As Control
  3.  
  4.  
  5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.        Dim NumericX As Integer
  7.        Dim NumericY As Integer
  8.  
  9.        Dim i, j As Integer
  10.        Dim formulax As Decimal
  11.        Dim formulay As Decimal
  12.  
  13.        NumericX = Contx.Value
  14.        NumericY = Conty.Value
  15.  
  16.        formulax = (Matriz1.Width / 2) - ((25 / 2) * NumericX + (NumericX - 1) * (10 / 2))
  17.        formulay = (Matriz1.Height / 2) - ((20 / 2) * NumericY + (NumericY - 1) * (10 / 2))
  18.  
  19.        For i = 1 To NumericX Step 1
  20.            For j = 1 To NumericY Step 1
  21.                myarray(i, j) = New TextBox
  22.                Matriz1.Controls.Add(myarray(i, j))
  23.                myarray(i, j).Location = New Point((formulax + (i - 1) * 35), (formulay + (j - 1) * 30))
  24.                myarray(i, j).Size = New Size(25, 20)
  25.                ¡myarray(i, j).MaxLength = 5 [color=red]problema[/color]
  26.            Next
  27.        Next
  28.        Button1.Enabled = False
  29.        Button2.Enabled = True
  30.    End Sub
  31. 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.


Título: Re: límite de carácteres en textbox
Publicado por: raul338 en 15 Septiembre 2010, 07:30 am
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!!!


Título: Re: límite de carácteres en textbox
Publicado por: Krizzz en 17 Septiembre 2010, 09:32 am
gracias por la molestía, estaba en un error en el ambito de la variable, pero ya lo solucioné, gracias