No me salen algunas cosas con C#

Iniciado por Meta, 22 Agosto 2014, 11:15 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Buenas:

Ahora funciona tal como lo quiero.

¿Qué es lo que has hecho exactamente?

Muchísimas gracias.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

El Benjo

Lo que te mencionaba sobre cambiar los colores en la asignación. Es decir cambiar la parte por ejemplo de:

Código (csharp) [Seleccionar]
if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.White;
                }

                else
                {
                    Color_p1_5x7 = false;
                    pictureBox1.BackColor = Color.Blue;
                }


Por:

Código (csharp) [Seleccionar]
if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.Blue;
                }

                else
                {
                    Color_p1_5x7 = false;
                    pictureBox1.BackColor = Color.White;
                }


Y creo que la parte del if (Color_5x7 == true) antes estaba en 'false'.

Eso fue todo, que bueno que ya te funciona. Saludos :)
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

Meta

Si,a ntes if (Color_5x7 == true) estaba en false. Estaba probando tantas cosas que ni m di cuenta.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

engel lex

me meto solo para ayudar a reducir el codigo

Código (csharp) [Seleccionar]
if (Color_p1_5x7)
{
    pictureBox1.BackColor = Color.White;
}
else
{
    pictureBox1.BackColor = Color.Blue;
}
Color_p1_5x7 = !Color_p1_5x7;


y no se si soporta la sintaxis "?" de c/c++ (no se nada de c# :P)

pero en ese caso

Código (csharp) [Seleccionar]

pictureBox1.BackColor = Color_p1_5x7 ?  Color.White : Color.Blue;
Color_p1_5x7 = !Color_p1_5x7;


tambien recomendaría esos colores meterlos como un array y en lugar de alargar tanto el código se usa for

sorry si mi conocimiento no sirve aquí :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

El Benjo

Claro que sirve. El conocimiento siempre es bienvenido. De hecho ya le hice las recomendaciones para reducir el código. De hecho le había comentado que se pueden eliminar la mayoría de los 'if' si se utilizan dos variables para los colores y se asigna el valor según el estado del checkbox.
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

Meta

Buenas de nuevo:

Ahora que por ahora está bien, he añadido dos botones más. Rellenar y Limpiar. Lo que hace es rellenar de golpe todos los pictureBox, y limpiar vaciar todos los pictureBox. Su código va en lo último del principal.

Código (csharp) [Seleccionar]
private void button_Rellenar_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == true)
            {
                Rellenar_negro();
            }

            else
            {
                Rellenar_blanco();
            }
        }

        private void button_Limpiar_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == true)
            {
                Rellenar_verde();
            }

            else
            {
                Rellenar_azul();
            }
        }

        public void Rellenar_blanco()
        {
            pictureBox1.BackColor = Color.White;
            pictureBox2.BackColor = Color.White;
            pictureBox3.BackColor = Color.White;
            pictureBox4.BackColor = Color.White;
        }

        public void Rellenar_azul()
        {
            pictureBox1.BackColor = Color.Blue;
            pictureBox2.BackColor = Color.Blue;
            pictureBox3.BackColor = Color.Blue;
            pictureBox4.BackColor = Color.Blue;
        }

        public void Rellenar_negro()
        {
            pictureBox1.BackColor = Color.Black;
            pictureBox2.BackColor = Color.Black;
            pictureBox3.BackColor = Color.Black;
            pictureBox4.BackColor = Color.Black;
        }

        public void Rellenar_verde()
        {
            pictureBox1.BackColor = Color.Lime;
            pictureBox2.BackColor = Color.Lime;
            pictureBox3.BackColor = Color.Lime;
            pictureBox4.BackColor = Color.Lime;
        }


Los botones de entrada funciona muy bien, exceptuando que al pulsar Invertir hace cosas raras. Hagan pruebas y lo notarán. Quiero corregir esa parte pero no lo consigo.

Un saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

El Benjo

Eso es porque sólo modificas el color del fondo pero no haces nada con las variables de estado.

Código (csharp) [Seleccionar]
bool Color_p1_5x7 = false;
        bool Color_p2_5x7 = false;
        bool Color_p3_5x7 = false;
        bool Color_p4_5x7 = false;


Esas variables también debes modificarlas (ponerlas todas a true o false según corresponda).
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

Meta

Hola:

Lo hice así pero no me cuadra. ;)
Código (csharp) [Seleccionar]
        private void button_Rellenar_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == true)
            {
                Rellenar_negro();
            }

            else
            {
                Rellenar_blanco();
            }
        }

        private void button_Limpiar_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == true)
            {
                Rellenar_verde();
            }

            else
            {
                Rellenar_azul();
            }
        }

        public void Rellenar_blanco()
        {
            Color_p1_5x7 = false;
            Color_p2_5x7 = false;
            Color_p3_5x7 = false;
            Color_p4_5x7 = false;
            pictureBox1.BackColor = Color.White;
            pictureBox2.BackColor = Color.White;
            pictureBox3.BackColor = Color.White;
            pictureBox4.BackColor = Color.White;
        }

        public void Rellenar_azul()
        {
            Color_p1_5x7 = true;
            Color_p2_5x7 = true;
            Color_p3_5x7 = true;
            Color_p4_5x7 = true;
            pictureBox1.BackColor = Color.Blue;
            pictureBox2.BackColor = Color.Blue;
            pictureBox3.BackColor = Color.Blue;
            pictureBox4.BackColor = Color.Blue;
        }

        public void Rellenar_negro()
        {
            Color_p1_5x7 = false;
            Color_p2_5x7 = false;
            Color_p3_5x7 = false;
            Color_p4_5x7 = false;
            pictureBox1.BackColor = Color.Black;
            pictureBox2.BackColor = Color.Black;
            pictureBox3.BackColor = Color.Black;
            pictureBox4.BackColor = Color.Black;
        }

        public void Rellenar_verde()
        {
            Color_p1_5x7 = true;
            Color_p2_5x7 = true;
            Color_p3_5x7 = true;
            Color_p4_5x7 = true;
            pictureBox1.BackColor = Color.Lime;
            pictureBox2.BackColor = Color.Lime;
            pictureBox3.BackColor = Color.Lime;
            pictureBox4.BackColor = Color.Lime;
        }


Un saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

Ya lo hice funcionar, gracias.

Cambié los true por los false y al revés.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

El Benjo

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.