Autor
|
Tema: Introducir texto en un Formulario (Visual Basic 2013) (Solucionado) (Leído 3,262 veces)
|
Tazmania40
Desconectado
Mensajes: 42
|
Buenas, llevo unos meses aprendiendo Visual Basic 2013 puesto que era de al antigua escuela de Visual Basic 6 y llevaba años sin programar. Prácticamente estoy recopilando conocimientos y pasando al nuevo VB 2013 porque el código cambia mucho y una de las cosas que con más facilidad hacía con Visual Basic 6 era.
Tenía un Formulario y un botón de comando y escribía dentro del botón
Dim Suma As Integer Suma = 5 + 15 Print ("La suma es = ", Suma)
y en el Formulario aparecía el texto escrito y el resultado de la suma, sin necesidad de usar un Label o un TextBox. Si volvía a escribir otra línea Print pues debajo y es lo que necesito para mi programa, porque quiero mostrar como 10 operaciones una debajo de otra y no quiero poner 10 TextBox, sino realizarlo con un For..Next como antes hacía, ya que van a ser un total de 8 listados de 10, eso me supone 80 TextBox y no creo que sea un programa correcto (estoy utilizando Formularios MDI).
Asi que lo que quiero es simple, al pulsar un botón que me aparezca en el Formulario principal o bien formulario secundario del MDI, el texto que ponga y la operación (variable). He mirado por internet y dicen utilizar método DrawString pero es bastante lioso y no funcionan los ejemplos (me dan error). Si hay alguna manera fácil o bien un ejemplo con DrawString declarándolo y que funcione para Visual Basic 2013 con el Botón y Formulario solamente; si hay que añadir algo más.
Muchas gracias y espero una solución de algo tan sencillo con VB6 ahora tan complicado con VB2013.
|
|
« Última modificación: 6 Octubre 2015, 09:25 am por Tazmania40 »
|
En línea
|
|
|
|
Tazmania40
Desconectado
Mensajes: 42
|
Escribo código para haceros ver una idea de lo que quiero.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim Suma As Integer = 10 Dim A As Integer For A = 1 To 10 Label1.Text = ("Numero de Operación = " & A.ToString) Next A End Sub
Naturalmente el resultado dará una sola línea, quiero como antes con el método Print que daría 10 líneas y puestas en el Formulario. No quiero Label, ni TextBox, ni emplear Arrays porque no voy a usar variables, son varios listados como si fuera en papel pero mostarlo en el Formulario.
Estoy mirando y creo que tendré que usar el método Drawing que es bastante lioso y para una cosa sencilla tienes que programar varias lineas declarando, quedará más bonito con las fuentes y demás, pero no le veo la práctica de antes a cosas sencillas.
Sigo mirando y si lo consigo lo expongo aqui, pero si alguién sabe una respuesta más acorde con lo que pido se lo agradezco.
|
|
|
En línea
|
|
|
|
Tazmania40
Desconectado
Mensajes: 42
|
De momento he encontrado una solución y lo tengo resuelto mediante el método Drawing, aunque si alguien conoce alguna otra forma parecida a Print del VB6, porque antes con 2 líneas hacias lo mismo que este código.
Private Sub Contorno_Click(sender As Object, e As EventArgs) Handles Contorno.Click Dim Suma As Integer = 10 Dim A As Integer Dim MiGrafico As Graphics = Me.CreateGraphics Dim MiFuente As Font Dim MiPincel As Brush
MiPincel = New Drawing.SolidBrush(Color.Blue) MiFuente = New System.Drawing.Font("Tahoma", 12, FontStyle.Underline) For A = 0 To 9 MiGrafico.DrawString("Operación " & Suma + A, MiFuente, MiPincel, 200, 10 + (A * 20)) Next End Sub
|
|
|
En línea
|
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
perdón, la verdad no conozco algún método para lo que buscas, pero, no querés usar varios textbox, está bien, y ¿un listbox?, después te permite otros métodos y propiedades que el form te costará más.
|
|
|
En línea
|
|
|
|
Tazmania40
Desconectado
Mensajes: 42
|
Al final utilizaré este código y con el evento Paint, es lo que más se asemeja al print de antes. No utilizo etiquetas, ni label puesto que voy a utilizar Formularios MDI y tendría que estar realizando más código y no por diseño, además de que solo van a ser listas al igual que si imprimes. Si fuera un solo Formulario si lo haría. [code=vbnet] Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint Dim Suma As Integer = 15 Dim A As Integer For A = 0 To 9 e.Graphics.DrawString("La suma es = " & Suma + A, New Font("Tahoma", 12, _ FontStyle.Bold), Brushes.Black, New Point(50, 10 + (A * 20))) Next A End Sub
[/code] Esta es la SOLUCIÓN que veo. Gracias a todos y al foro.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
introducir datos a excel con visual basic, ayudaaaaaaa
Programación Visual Basic
|
Ragde88
|
2
|
7,089
|
16 Noviembre 2005, 02:29 am
por Ragde88
|
|
|
[DUDA] Imprimir texto X veces - Visual Basic [SOLUCIONADO]
Programación Visual Basic
|
Siquillote
|
2
|
3,815
|
2 Enero 2011, 00:01 am
por Siquillote
|
|
|
Estoy perdido... Visual Basic 2013
Programación Visual Basic
|
old.dude
|
2
|
2,055
|
5 Julio 2014, 15:17 pm
por old.dude
|
|
|
Método File.ReadLines (Visual Basic 2013) (Solucionado)
.NET (C#, VB.NET, ASP)
|
Tazmania40
|
5
|
4,774
|
23 Junio 2016, 13:15 pm
por Tazmania40
|
|
|
Tema Gráficos. Movimientos Sprite. Visual Basic 2013 (Solucionado)
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Tazmania40
|
12
|
10,502
|
31 Octubre 2016, 20:25 pm
por Tazmania40
|
|