Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: arts en 19 Marzo 2013, 17:33 pm



Título: Duda cambiar tamaño de letra y mantener el estilo,familia
Publicado por: arts en 19 Marzo 2013, 17:33 pm
Muy buenas.
Estaba haciendo una práctica y resulta que no logro ver como mantener el estilo subrayado, negrita, o  cursiva al cambiar el tamaño de letra, puesto que al parecer se reinician los valores. Creo (pienso) que el new de listboxchanged esta creando lo que es un estilo nuevo y no me lo esta manteniendo.

Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.        TextBox1.Text = "HOLA"
  5.        TextBox1.TextAlign = HorizontalAlignment.Center
  6.    End Sub
  7.  
  8.  
  9.    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
  10.        TextBox1.Font = New Font(TextBox1.Font.Style, ListBox1.SelectedItem)
  11.        'CheckBox1.Checked = False
  12.        'CheckBox2.Checked = False
  13.        'CheckBox3.Checked = False
  14.  
  15.    End Sub
  16.  
  17.  
  18.    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
  19.        'DESDE TEXTBOX1.FONT ACTUA COMO EL TEXTBOX1.TEXT = TEXTBOX1.TEXT DICIENDO TEXTBOX1.FONT = AL ESTILO QUE CONTENGA + EL NUEVO NEGRITA
  20.        If CheckBox1.Checked = False Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style And Not FontStyle.Bold)
  21.        If CheckBox1.Checked = True Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Bold)
  22.    End Sub
  23.  
  24.    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
  25.        If CheckBox2.Checked = False Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style And Not FontStyle.Underline) 'quita el estilo de negrita del texto
  26.        If CheckBox2.Checked = True Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Underline)
  27.    End Sub
  28.  
  29.    Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged
  30.        If CheckBox3.Checked = False Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style And Not FontStyle.Italic)
  31.        If CheckBox3.Checked = True Then TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Italic) 'cambia a negerita el cuadro de texto
  32.    End Sub
  33. End Class


Título: Re: Duda cambiar tamaño de letra y mantener el estilo,familia
Publicado por: arts en 19 Marzo 2013, 17:57 pm
He hecho creo yo que una pequeña chapucilla, no se si habría alguna forma mejor de hacerlo ya que me da la sensación que repito demasiado código.

Esta parte iría en el Private Sub ListBox1_SelectedIndexChanged...
Código
  1. If CheckBox1.Checked = True Then
  2.            TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Bold)
  3.        End If
  4.  
  5.        If CheckBox2.Checked = True Then
  6.            TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Underline)
  7.        End If
  8.  
  9.        If CheckBox3.Checked = True Then
  10.            TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Italic) 'cambia a negerita el cuadro de texto
  11.        End If


Título: Re: Duda cambiar tamaño de letra y mantener el estilo,familia
Publicado por: Danyfirex en 19 Marzo 2013, 22:42 pm
Porque no le pasas el estilo anterior.


Código
  1. TextBox1.Font = New Font(TextBox1.SelectedText, 12, TextBox1.Font.Style)

asi camibas el tamaño y mantines el stilo que tengas.
saludos


Título: Re: Duda cambiar tamaño de letra y mantener el estilo,familia
Publicado por: arts en 20 Marzo 2013, 01:00 am
Gracias !!!, eso mismo estaba buscando, sabía que alguna manera tendría que haber.

Al final he usado lo mismo en vez de 12 de tamaño he usado el listbox.selectdItem que er lo que quería y por alguna razón lo había olvidado por completo.

Código
  1. TextBox1.Font = New Font(TextBox1.SelectedText, ListBox1.SelectedItem, TextBox1.Font.Style)

Solucionado ;)