SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Cajami en Lunes 25 de Junio de 2007, 22:15

Título: Como Hacer Para La Linea De Quede Media Ovalada
Publicado por: Cajami en Lunes 25 de Junio de 2007, 22:15
Hola, gueno no se si el titulo será ese pero lo que quiero hacer es esto:

estoy haciendo un reporte con los controles prinddocument, previwprindialog, y ps adjunto para que vean que es lo hasta el momento estoy haciendo, vean donde dice Ficha de Ratificación de Matrícula está encerrado por un cuadrado pero no deberia ser un cuadrado normal debe tener las puntas ovaladas asi como está en la imgen de abajo como lograr ese efecto???, de antemano muchas gracias, nos vemos :hola:
Título: Re: Como Hacer Para La Linea De Quede Media Ovalada
Publicado por: Nebire en Lunes 2 de Julio de 2007, 07:14
Esto se hacía fácilmente desde VB6 con un control shape manejando su propiedad shape  al valor 4 'rounded rectangle'.

En vb.net no ha permanecido el control, por tanto hay que  hacerlo manualmente con line y circle o arc después de todo son 4 líneas y 4 arcos de 90º con un radio que puedes variar a voluntad.

Te pego un ejemplo que variandolo te da lo que necesitas. Fíjate que:
1) el grueso de línea lo he puesto en 4
2) he usado un color azul.
3) se importa desde system.graphics y hay muchas opciones en system.graphics,graphics2D (pulsa 'f2' y localiza la clase graphics2D).
4) He hecho un garabato irregular de ejemplo.
5) puedes digujarlo paso a paso (f11 en debug) o comentado las líneas...



   
Código: Text
  1.    Imports a = System.Drawing
  2. Public Class Form1 
  3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.         Dim ruta As New a.Drawing2D.GraphicsPath()
  5.         Dim g As Graphics
  6.         g = Me.CreateGraphics
  7.  
  8.         'añade arco(coorX,coorY,ancho,alto,anguloIni,angulofinal)
  9.         'ruta.AddArc(10, 10, 150, 150, -33, 150)
  10.  
  11.         'dibuja con la pluma(color azul,ancho 4,según la ruta definida anteriormente.
  12.         'g.DrawPath(New Pen(Color.Blue, 4), ruta)
  13.  
  14.         ruta.AddLine(20, 20, 100, 20)            'recta de arriba
  15.         g.DrawPath(New Pen(Color.Blue, 4), ruta) 'la dibuja
  16.         ruta.AddArc(100, 20, 30, 30, -90, 90)    'curva superior derecha
  17.         g.DrawPath(New Pen(Color.Blue, 4), ruta) 'la dibuja
  18.  
  19.         ruta.AddLine(130, 50, 130, 80)         'linea derecha (de arriba a abajo)
  20.         g.DrawPath(New Pen(Color.Blue, 4), ruta) 'la dibuja
  21.         ruta.AddArc(130, 80, 30, 30, -90, 180)    'curva inferior derecha (un bulto)
  22.         g.DrawPath(New Pen(Color.Blue, 4), ruta) 'la dibuja
  23.  
  24.         ruta.AddLine(160, 110, 20, 20)          'uno todo para terminar
  25.         g.DrawPath(New Pen(Color.Blue, 4), ruta) 'la dibuja
  26.  
  27.     End Sub
  28. End Class
  29.  

Saludos.