elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Introducir texto en un Formulario (Visual Basic 2013) (Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Introducir texto en un Formulario (Visual Basic 2013) (Solucionado)  (Leído 1,575 veces)
Tazmania40

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Introducir texto en un Formulario (Visual Basic 2013) (Solucionado)
« en: 1 Octubre 2015, 14:17 »

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 por Tazmania40 » En línea

Tazmania40

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Introducir texto en un Formulario (Visual Basic 2013)
« Respuesta #1 en: 1 Octubre 2015, 22:36 »

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 Desconectado

Mensajes: 43


Ver Perfil
Re: Introducir texto en un Formulario (Visual Basic 2013)
« Respuesta #2 en: 2 Octubre 2015, 12:05 »

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 Desconectado

Mensajes: 1.226

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Introducir texto en un Formulario (Visual Basic 2013)
« Respuesta #3 en: 2 Octubre 2015, 15:20 »

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 Desconectado

Mensajes: 43


Ver Perfil
Re: Introducir texto en un Formulario (Visual Basic 2013)
« Respuesta #4 en: 5 Octubre 2015, 10:37 »

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.

Código
  1. [code=vbnet]
  2.  
  3. Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  4.        Dim Suma As Integer = 15
  5.        Dim A As Integer
  6.        For A = 0 To 9
  7.            e.Graphics.DrawString("La suma es = " & Suma + A, New Font("Tahoma", 12, _
  8.           FontStyle.Bold), Brushes.Black, New Point(50, 10 + (A * 20)))
  9.        Next A
  10. End Sub
[/code]

Esta es la SOLUCIÓN que veo. Gracias a todos y al foro.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines