Visual Basic.NET - VB.net tres consultas

   
Vista:

VB.net tres consultas

Publicado por Jorge andrada (2 intervenciones) el 23/11/2010 23:23:28
hola a todos, voy a tratar de ser breve jeje: tengo 3 (tres) preguntas que me cambiarian la vida jejej:
1/- como hago para que un boton en vb.net sea redondo o obalado por ejemplo, el comando buttom me pone un boton rectangular, que lo podemos hacer mas grande o mas chico o cuadrado, pero como lo puedo hacer para que este boton sea redondo u ovalado? se puede?

2/- como manejo el comando serial port en vb.net, por ejemplo pongo un numero binario de 8 bit. en un textbox, y cuando le haga click en un boton este me mande ese numero binario por el serialport?

3/- yo hice un programita que es un teclado virtual, pero yo necesito que aparezca este cuando yo presione un boton determinado o haga click en un text box, y luego el numero que escriba con el tecladito virtual lo grabe en el textbox.

desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VB.net tres consultas

Publicado por Miguel (26 intervenciones) el 24/11/2010 13:57:04
Te contesto a la primera pregunta:

El control botón se podría repintar así...

Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

Private Sub btn_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles btn.Paint
e.Graphics.SmoothingMode = SmoothingMode.HighQuality
e.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic
e.Graphics.CompositingQuality = CompositingQuality.HighQuality
e.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality

Dim oLgb As LinearGradientBrush
Dim oButton As Button = DirectCast(sender, Button)
Dim oRect As Rectangle = New Rectangle(e.ClipRectangle.X + 1, e.ClipRectangle.Y + 1, e.ClipRectangle.Width - 2, e.ClipRectangle.Height - 2)
Dim oRectF As RectangleF = New RectangleF(e.ClipRectangle.X + 1, e.ClipRectangle.Y + 1, e.ClipRectangle.Width - 2, e.ClipRectangle.Height - 2)
Dim oFormato As StringFormat = New StringFormat()
oFormato.Alignment = StringAlignment.Center
oFormato.LineAlignment = StringAlignment.Center

oLgb = New LinearGradientBrush(oRect, oButton.BackColor, Color.Gainsboro, LinearGradientMode.Vertical)
e.Graphics.DrawRectangle(New Pen(Me.BackColor), e.ClipRectangle)
e.Graphics.FillRectangle(New SolidBrush(Me.BackColor), e.ClipRectangle)
e.Graphics.DrawEllipse(Pens.Black, oRect)
e.Graphics.FillEllipse(oLgb, oRect)
e.Graphics.DrawString(oButton.Text, oButton.Font, New SolidBrush(oButton.ForeColor), oRectF, oFormato)
End Sub

Eso sí, pierdes los efectos de botón pulsado o bien los tendrías que simular tú. Igualmente si el boton está deshabilitado tampoco cambiaría de color.

Espero que te sirva de algo.
Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar