elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Asignar variable a un color draw
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Asignar variable a un color draw  (Leído 1,003 veces)
Cripting

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Asignar variable a un color draw
« en: 26 Enero 2017, 03:58 »

Bueno la idea es que la variable obtenga el color de una picturebox de un form,
Llevo poco en esto  :-( ayuda :S no se si estoy dando buen uso a la variable eh intentando desde string con un label pero me da el mismo error X_X

Código
  1. class Obj : objeto
  2.    {
  3.        private JKer Ker;
  4.        object c1;
  5.        JKer PKER;
  6.        Cola siguiente;
  7.        public Cola(int x, int y)
  8.  
  9.        {
  10.  
  11.            Ker = PKER;
  12.            c1 = Ker.pictureBox1.BackColor;//aqui le doy valor a la variable que sea el color, también eh intentado colgar el caracter de un color pero no me da
  13.           // Color = c1;
  14.            this.x = x;
  15.            this.y = y;
  16.            siguiente = null;
  17.        }
  18.        public void dibujar(Graphics g)
  19.        {
  20.            if (siguiente != null)
  21.            {
  22.                siguiente.dibujar(g);
  23.            }
  24.            g.FillRectangle(new SolidBrush(Color = c1), this.x, this.y, this.ancho, this.ancho);
  25.        }


« Última modificación: 27 Enero 2017, 02:44 por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Asignar variable a un color draw
« Respuesta #1 en: 26 Enero 2017, 20:22 »

Hola.

1. Al objeto c1 le estás asignando el type Object, cuando debería ser Color.

2. Los objetos Ker y PKER son exactamente lo mismo. Elimina una de esas referencias, pues eso es programación redundante.

3. La estructuración del código no es la más adecuada, estás asumiendo demasiadas cosas que podrían salir mal en el Ctor. En lugar de "asuimir" deberías "asegurar", pasándole los argumentos necesarios al Ctor y opcionálmente añadiendo los controles de errores que consideres oportunos.

4.
me da el mismo error

Pues empieza por especificar que tipo de excepción ocurre y muestra el mensaje completo de error. No somos adivinos.



Aquí tienes un ejemplo a adaptar:

Código
  1. public sealed class Class1 {
  2.  
  3. private readonly Color myColor;
  4.  
  5. public Class1(PictureBox pcb, Point pt) {
  6. this.myColor = pcb.BackColor;
  7. this.x = pt.X;
  8. this.y = pt.Y;
  9. // Etc...
  10. }
  11.  
  12. }

Saludos


En línea


Cripting

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Asignar variable a un color draw
« Respuesta #2 en: 26 Enero 2017, 20:34 »

Eh implementado ya todo y eh echo unos ajustes, pero ahora me atore en la linea de
Código:
g.FillRectangle(new SolidBrush(Color = c1), this.x, this.y, this.ancho, this.ancho);
Donde en la structura de Color no se como hacer para que la variable sea el Color, Intente poniedo como esta en la linea (Color = c1)
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Asignar variable a un color draw
« Respuesta #3 en: 27 Enero 2017, 02:55 »

no se como hacer para que la variable sea el Color

El objeto SolidBrush es disposable, así que debes asegurarte de liberarlo:

Código
  1. public void Dibujar(Graphics g) {
  2.  
  3.        //...
  4. Rectangle rc = new Rectangle(x, y, width, height);
  5.  
  6. using (SolidBrush br = new SolidBrush(color)) {
  7. g.FillRectangle(br, rc);
  8. }
  9.        //...
  10.  
  11. }

Saludos
« Última modificación: 27 Enero 2017, 02:57 por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines