Visual Basic - colores en label

Life is soft - evento anual de software empresarial
   
Vista:

colores en label

Publicado por pep_angel (6 intervenciones) el 28/01/2015 23:04:12
Hola Buenas noches. Tengo 9 labels con un color diferente en cada uno de ellos.
En otro label, el principal copio el color de los otros mediante el evento click.
Lo que quisiera conseguir es que al salir de modo ejecución al volver a cargar el formulario, el último color que había en el label principal sea el que aparecezca.
Hasta ahora siempre me sale el color que hay en modo diseño.
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
Imágen de perfil de Megamind

colores en label

Publicado por Megamind (121 intervenciones) el 28/01/2015 23:20:48
Una de tantas formas seria crear un archivo de texto donde guardes todos lo datos de configuración
Y leer el archivo cuando inicias la aplicación
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
Imágen de perfil de Megamind

colores en label

Publicado por Megamind (121 intervenciones) el 29/01/2015 00:45:50
Te e echo un pequeño ejemplo
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

colores en label

Publicado por pep_angel (6 intervenciones) el 29/01/2015 17:30:34
Hola gracias por la ayuda. No me funciona porque al ejecutar el form1 me dice que no se ha definido el tipo definido por el usuario. Me da error en "Private mCini As cINI". ¿Que referencia tengo que registrar?
Luego tengo algunas dudas sobre el código. Solamente tengo que hacer referencia a un label.
Por ejemplo es el Formcolores y solamente el label4 y quiero que me guarde el color de fondo, no la fuente, para que cuando vuelva arrancar la aplicación me salga el ultimo color seleccionado.

Esto es lo que usted me pone en el código;

Call mCini.writeValue(mCini.INIPath, sSeccion, "FrmCaption", Label4.Caption)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label1FColor", Label5.ForeColor)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label2FColor", Label6.ForeColor)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label3FColor", Label7.ForeColor)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label2Font", Label5.FontName)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label2Tamaño", Label5.FontSize)
Call mCini.writeValue(mCini.INIPath, sSeccion, "Label2Bold", Label5.FontBold)
¿COMO LO TENDRÍA QUE ESCRIBIR?

Ademas quiero que lo haga al salir del formulario no mediante un commadbutton. ¿Debería poner este código al salir en Form_unload?
Gracias por la ayuda.
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
Imágen de perfil de Megamind

colores en label

Publicado por Megamind (121 intervenciones) el 29/01/2015 19:21:37
Hola
La opción de guardar los cambios, los e puesto en el botón, solo como ejemplo.
Tú puedes ponerlo en cualquier otro sitio
Por ejemplo en Form_Unload o en un procedimiento que puede ser llamado por Form_Unload

El error que dices, "Private mCini As cINI", me resulta muy extraño, ya que esa variable, hace referencia al Modulo Clase cINI que esta en el paquete

De todas formas, si lo único que pretendes es cambiar uno, o unos poquitos datos, prueba con esto si sigue el error
-----------------------------------------------------------------
Se precisa el Archivo Config.cfg en el Path
Un label en el Form (Label4)
Cuando se cierra la aplicación, la variable lblFondo
Toma el color de fondo del Label4 y la guarda
'-----------------------------------------------------------------
Option Explicit

Dim Configuracion As String
Dim vValor As Variant
Dim lblFondo As Long ' Para asignar el color del label

Private Sub Form_Load()
On Error GoTo ErrSub

Open App.Path & "\Config.cfg" For Input As #1
Configuracion = Input(LOF(1), 1)
Close #1
vValor = Split(Configuracion, "*")
Label4.BackColor = vValor(0)

Exit Sub
ErrSub:
End Sub

Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
lblFondo = Label4.BackColor

Kill App.Path & "\Config.cfg"

Open App.Path & "\config.cfg" For Output As #1
Print #1, lblFondo & "*"; '& Otros datos & "*" & Otros datos;
Close #1
End Sub
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

colores en label

Publicado por pep_angel (6 intervenciones) el 29/01/2015 22:17:06
Muchas gracias. La segunda opción funciona perfecto y es mas sencilla para mi.
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

colores en label

Publicado por Roberto F. (10 intervenciones) el 29/01/2015 22:18:00
Hola:

Aquí os dejo otra manera:

No usa ficheros, sino el registro por loque permite incluso que cada usuario tenga una configuracion independiente..


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Form1_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
 
        If (My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MiAplicacion", "Colorlabel", Nothing) Is Nothing) Then
            My.Computer.Registry.CurrentUser.CreateSubKey("MiAplicacion")
        End If
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MiAplicacion", "Colorlabel", Me.Label1.ForeColor.ToArgb)
 
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
	'si existe lo cargamos en la label
        If Not (My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MiAplicacion", "Colorlabel", Nothing) Is Nothing) Then
            Me.Label1.ForeColor = System.Drawing.Color.FromArgb(My.Computer.Registry.GetValue("HKEY_CURRENT_USER\MiAplicacion", "Colorlabel", Color.White))
        End If
 
 
    End Sub
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

colores en label

Publicado por pep_angel (6 intervenciones) el 30/01/2015 15:30:44
Gracias también por la solución.
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