Principales respuestas
Como cambiar el tamaño de letra sin que me desactive el tipo de letra seleccionado anteriormente

Pregunta
-
Alguien me puede ayudar hice un programa donde se puede modificar el texto de un textbox donde a este le puedo activar o desactivar
- Negrita
- Cursiva
- Subrayado
- Color de fuente
- y tres tipos de letras
Tambien le coloque 3 tipos de tamaños de letras, el problema sucede que cuando escojo un tipo de letra y luego cambio el tamaño de letra, se desactiva el tipo de letra que habia seleccionado.
Respuestas
-
Hola:
Tampoco habría estado de más que nos hubieras indicado qué código estás ejecutando para cambiar los distintos atributos de la fuente.
Lo normal es estos casos es guardar en una variable objeto tipo Font, declarada a nivel del propio formulario que contiene el control TextBox, los valores que en cada momento tiene el objeto Font del control TextBox. Para ello, declararías la siguiente variable:
Private _fnt As Font
Y en el evento Form_Load del formulario, le asignarías el valor del objeto Font del control TextBox:
Private Sub Form1_Load( ... )
_fnt = TextBox1.FontEnd Sub
Ahora, cuando desees cambiar la fuente (tipo de letra), ejecutarías lo siguiente:
' Primero modificamos la variable objeto
'
_fnt = New Font("Verdana", _fnt.Size, _fnt.Style, _fnt.Unit, _fnt.GdiCharSet)' Después le asignamos la fuente al control TextBox.
'
TextBox1.Font = _fnt
Y cuando desees cambiar el tamaño de la fuente (el tamaño de la letra), ejecutarías ésto otro:
' Primero modificamos la variable objeto
'
_fnt = New Font(_fnt.FontFamily, 24, _fnt.Style, _fnt.Unit, _fnt.GdiCharSet)' Después le asignamos la fuente al control TextBox.
'
TextBox1.Font = _fnt
En definitiva, tienes que guardar en un objeto Font todos los atributos de la fuente del control TextBox, y modificar únicamente aquel que desees en un momento determinado, respetando los demás atributos establecidos actualmente. Cuando hayas modificado la variable que representa el objeto Font, es cuando tienes que asignárselo a la propiedad Font del control TextBox, para que en el texto de dicho control puedas observar las modificaciones efectuadas. ¿OK?
Un saludo
Enrique Martínez [MS MVP - VB]- Propuesto como respuesta Enrique M. MontejoModerator miércoles, 8 de julio de 2009 13:25
- Marcado como respuesta Enrique M. MontejoModerator domingo, 1 de mayo de 2011 18:34
Todas las respuestas
-
Tines que jugar con una instruccion if else if
prueba esto
Crea un proyecto y agrega un textbox y dos RadioButon al formulario y agrega el siguiente codigo
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If Me.TextBox1.ForeColor = Color.Black Then Me.TextBox1.ForeColor = Color.Red End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged If Me.TextBox1.ForeColor = Color.Red Then Me.TextBox1.ForeColor = Color.Black End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TextBox1.ForeColor = Color.Black End Sub
ejecuta el programa
selecciona un radio buton y
Veras que si el text del textbox es negro se pondra en rojo y si el texto es rojo se pondra en negro
ahora as lo mismo con lo demas
Saludos.
Melvin.
Todo Es posible si se studia con exfuerso no importando los de mas Dios esta con nosotros y no hay mas sabiduria que la de Dios, Everything is posible if you study a lot wiht esforce , God Loves us and there isn't anybody like God.... Melvin Saludos -
Hola:
Tampoco habría estado de más que nos hubieras indicado qué código estás ejecutando para cambiar los distintos atributos de la fuente.
Lo normal es estos casos es guardar en una variable objeto tipo Font, declarada a nivel del propio formulario que contiene el control TextBox, los valores que en cada momento tiene el objeto Font del control TextBox. Para ello, declararías la siguiente variable:
Private _fnt As Font
Y en el evento Form_Load del formulario, le asignarías el valor del objeto Font del control TextBox:
Private Sub Form1_Load( ... )
_fnt = TextBox1.FontEnd Sub
Ahora, cuando desees cambiar la fuente (tipo de letra), ejecutarías lo siguiente:
' Primero modificamos la variable objeto
'
_fnt = New Font("Verdana", _fnt.Size, _fnt.Style, _fnt.Unit, _fnt.GdiCharSet)' Después le asignamos la fuente al control TextBox.
'
TextBox1.Font = _fnt
Y cuando desees cambiar el tamaño de la fuente (el tamaño de la letra), ejecutarías ésto otro:
' Primero modificamos la variable objeto
'
_fnt = New Font(_fnt.FontFamily, 24, _fnt.Style, _fnt.Unit, _fnt.GdiCharSet)' Después le asignamos la fuente al control TextBox.
'
TextBox1.Font = _fnt
En definitiva, tienes que guardar en un objeto Font todos los atributos de la fuente del control TextBox, y modificar únicamente aquel que desees en un momento determinado, respetando los demás atributos establecidos actualmente. Cuando hayas modificado la variable que representa el objeto Font, es cuando tienes que asignárselo a la propiedad Font del control TextBox, para que en el texto de dicho control puedas observar las modificaciones efectuadas. ¿OK?
Un saludo
Enrique Martínez [MS MVP - VB]- Propuesto como respuesta Enrique M. MontejoModerator miércoles, 8 de julio de 2009 13:25
- Marcado como respuesta Enrique M. MontejoModerator domingo, 1 de mayo de 2011 18:34