Crear un PictureBox

11/09/2004 - 20:43 por Microsoft | Informe spam
Queridos programadores,

Admito que el asunto que he escrito os hará que parezca un tonto, pero
mi pregunta deriva un poco de ése titulo. Soy un programador de Visual
Basic, acostumbrado desde hace mucho a la IDE de VB6 y VB5. Al instalar el
VB.net no me estoy aclarando muy bien que digamos, pero bueno. Es mucho más
completo pero talmismo es mayormente complejo. En la versión de VB6 podíamos
crear fácilmente arrays de la mayoría de objetos (p.ej.: un array de
picturebox y por tanto crear picturebox en tiempo de ejecución sin necesidad
de utilizar recursos al inicio del programa), pues allí va mi preguntita:
tengo que crear un convertidor de carácteres a imágenes (como una especie de
geroglíficos) i por tanto deseaba crear un picturebox inicial con índice de
array (1) para que en tiempo de ejecución cuando el usuario escriba una
letra en el textbox dicha letra aparezca en un nuevo índice del array de
picturebox traducido en la pantalla

p.ej.:

1. escritura letra "j"
2. identificar letra mediante ascii o char
3. crear un nuevo picturebox (sea o no sea un array eso me da igual)
4. asignar el geroglífico correspondiente a la letra identificada al
nuevo picturebox
5. fin del evento

así sucesivamente hasta que el usuario acabe de escribir su texto
entero, el problema es que el usuario escribe todo su texto en un textbox, y
a medida que va escribiendo el programa va convirtiendo cada letra en un
geroglífico, resultando en un conjunto de geroglíficos(o picturebox) dentro
de un frame.

no sé si me entendeis, pero lo único que quiero es poder crear un picturebox
linea a linea sin que sea al inicio del programa.

Muchas Gracias,

Jags

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
12/09/2004 - 06:04 | Informe spam
En .NET todo se hace en tiempo de ejecucion. El diseñador lo que hace es
agregar el codigo necesario para recrear los controles puestos en el
formulario. Puedes ver el codigo en el metodo InitializeComponent. Esa misma
forma es la que tienes que usar para generar tus PictureBox (aunque quizas
no sea lo mejor ya que no se comportan exactamente igual que en VB6). Por
ejemplo:

' Creo el PictureBox
Dim pb As New PictureBox

' Coloco posicion y tamaño
pb.Location = New Point(10, 10)
pb.Size = New Size(100, 100)

' Lo agrego al formulario
Me.Controls.Add(pb)

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
#2 Microsoft
12/09/2004 - 11:48 | Informe spam
Muchas Gracias

Me faltava la línea del add.

Adoro este grupo de noticias

Gracias,

Jags
"Eduardo A. Morcillo [MS MVP VB]" <emorcilloATmvps.org> escribió en el
mensaje news:
Mostrar la cita
misma
Mostrar la cita
#3 Willy [MX]
12/09/2004 - 14:13 | Informe spam
Sub AgregaPicPanel(ByRef MiPanel As System.Windows.Forms.Panel, _
ByVal Ancho As Integer, ByVal Alto As Integer,
ByVal ArchivoBMP as String)
Dim indice As Integer = MiPanel.Controls.Count
Dim Pic As New System.Windows.Forms.PictureBox
Pic.Location = New System.Drawing.Point(indice * ancho, 0)
Pic.Size = New System.Drawing.Size(ancho, alto)
Pic.Name = "Pic" & indice
Try
Pic.Image = New Bitmap(ArchivoBMP)
Catch
Beep()
End Try
MiPanel.Controls.Add(Pic)
End Function

Sub RemuevePicPanel(ByRef MiPanel As System.Windows.Forms.Panel, _
ByVal indice As Integer)
If indice > -1 Then
Dim Pic As PictureBox = _
CType(MiPanel.Controls.Item(indice), PictureBox)
If (Not Pic Is Nothing) Then
MiPanel.Controls.Remove(Pic)
Pic.Dispose()
End If
End If
End Sub

Ya solo resta que hagas el codigo del KeyPress o KeyUp...

Saludos,
Willy [MX]
"El error es una hoja garabateada que primero hay que borrar."
- Charles Caleb Colton (1780-1832); poeta y ensayista inglés.


Microsoft wrote:
Mostrar la cita
Ads by Google
Search Busqueda sugerida