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:

Desde que ejecute el programa o aplicación, funciona bien, puedo cambiar los colores de los picturesBox y el checboc "color azul" sin problemas.



El problema viene cuando pulse el botón "Invertir" como indica l aimagen de abajo. Dejo el checbox sin tocar, solo pulso el botón "Invertir" y ocurrre lo de abajo. Nunca tiene que ponerse los pictureBox azul o blanco, eso es para cuando pulse el checbox.


Lo que debe ocurrir y sin pulsar el checkBox es:
Si está verde el fondo. Al pulsar los pictureBox, al menos uno se ponga negro, activado. Desde que pulse el botón "Invertir" haga el efecto contrario, es decir, invierte los colores, los negros por los verdes y al revés.


Cuando pulse el checbox, sin que pierda los estados activado y desactivado, lo refleje con su color correspondiente.

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

El Benjo

Ohhhh sí, creo ya tengo la solución y es más sencilla de lo que crees. Elimina las líneas:

Código (csharp) [Seleccionar]
Color_5x7 = true;

Y:

Código (csharp) [Seleccionar]
Color_5x7 = false;

Porque esas líneas lo que hacen es cambiar el color, como si hubieses presionado el 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:

Lo he quitado, da problemas.

Luego cambie de false a true el primer
Código (csharp) [Seleccionar]
if (Color_5x7 == true)

También tiene cosas raras. Si quieres te paso el código fuente completo.

Saludo.


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

El Benjo

No es necesario, porque en realidad el problema está sólo en esa parte del código. En todo caso, confirma que tu código esté como lo dejo a continuación, porque no le veo el problema.

Código (csharp) [Seleccionar]
private void button_Invertir_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == false)
            {
                if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.Lime;
                }

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

                if (Color_p2_5x7 == false)
                {
                    Color_p2_5x7 = true;
                    pictureBox2.BackColor = Color.Lime;
                }

                else
                {
                    Color_p2_5x7 = false;
                    pictureBox2.BackColor = Color.Black;
                }

                if (Color_p3_5x7 == false)
                {
                    Color_p3_5x7 = true;
                    pictureBox3.BackColor = Color.Lime;
                }

                else
                {
                    Color_p3_5x7 = false;
                    pictureBox3.BackColor = Color.Black;
                }

                if (Color_p4_5x7 == false)
                {
                    Color_p4_5x7 = true;
                    pictureBox4.BackColor = Color.Lime;
                }

                else
                {
                    Color_p4_5x7 = false;
                    pictureBox4.BackColor = Color.Black;
                }
            }

            else
            {
                if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.Blue;
                }

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

                if (Color_p2_5x7 == false)
                {
                    Color_p2_5x7 = true;
                    pictureBox2.BackColor = Color.Blue;
                }

                else
                {
                    Color_p2_5x7 = false;
                    pictureBox2.BackColor = Color.White;
                }

                if (Color_p3_5x7 == false)
                {
                    Color_p3_5x7 = true;
                    pictureBox3.BackColor = Color.Blue;
                }

                else
                {
                    Color_p3_5x7 = false;
                    pictureBox3.BackColor = Color.White;
                }

                if (Color_p4_5x7 == false)
                {
                    Color_p4_5x7 = true;
                    pictureBox4.BackColor = Color.Blue;
                }

                else
                {
                    Color_p4_5x7 = false;
                    pictureBox4.BackColor = Color.White;
                }
            }
        }


Si todavía te sigue dando problemas y no encuentras la solución, sube el proyecto completo a algún sitio para compartir archivos y me pasas el enlace.
www.es.neftis-ai.com

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

Meta

Se cambia el color del groupBox y no debería.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

El Benjo

¿Al presionar el botón te cambia el groupbox? Yo creo que sí vas a tener que mandarme el proyecto completo para encontrar el problema, porque si te fijas en esa parte del código en ningúnmomento estamos trabajando con con el groupbox. Pero lo revisaría hasta mañana. :/

O si quieres puedes buscar todas las referencias al groupbox en el código y ver cuál de todas es la que te genera el problema. 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

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

El Benjo

Ya modifiqué tu código y a mí me funciona perfectamente. :) De hecho, antes de compilar prueba lanzando el ejecutable que dejé en el directorio bin/debug.
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:

No funciona, haceeste tipo de cosas cuando pulsas Invertir y checBox.



Recordar que el color de fondo o del groupBox no debe estar el verde con el azul y al revés.

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

El Benjo

A mí me funciona la aplicación a la perfección. Te escribo el código completo del formulario para lo pegues completo y no escribas nada a mano.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

// http://social.msdn.microsoft.com/Forums/es-ES/6b834135-b0d1-4ec8-aa50-ba3316bfd5b5/conseguir-unos-objetivos-que-no-me-salen-con-c-2013?forum=vcses
// http://foro.elhacker.net/net/no_me_salen_algunas_cosas_con_c-t420178.0.html
// http://www.forosdelweb.com/f29/no-salen-algunas-cosas-con-c-1107200/

namespace Picture_Colores
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        bool Color_5x7 = true;
        bool Color_p1_5x7 = false;
        bool Color_p2_5x7 = false;
        bool Color_p3_5x7 = false;
        bool Color_p4_5x7 = false;

        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
        {
            if (Color_5x7 == false)
            {
                groupBox1.BackColor = Color.LawnGreen;
                groupBox1.ForeColor = Color.Black;

                if (Color_p1_5x7 == false)
                {
                    pictureBox1.BackColor = Color.Lime;
                }

                else
                {
                    pictureBox1.BackColor = Color.Black;
                }

                if (Color_p2_5x7 == false)
                {
                    pictureBox2.BackColor = Color.Lime;
                }

                else
                {
                    pictureBox2.BackColor = Color.Black;
                }

                if (Color_p3_5x7 == false)
                {
                    pictureBox3.BackColor = Color.Lime;
                }

                else
                {
                    pictureBox3.BackColor = Color.Black;
                }

                if (Color_p4_5x7 == false)
                {
                    pictureBox4.BackColor = Color.Lime;
                }

                else
                {
                    pictureBox4.BackColor = Color.Black;
                }

                Color_5x7 = true;
            }

            else
            {
                groupBox1.BackColor = Color.RoyalBlue;
                groupBox1.ForeColor = Color.White;

                if (Color_p1_5x7 == false)
                {
                    pictureBox1.BackColor = Color.Blue;
                }

                else
                {
                    pictureBox1.BackColor = Color.White;
                }

                if (Color_p2_5x7 == false)
                {
                    pictureBox2.BackColor = Color.Blue;
                }

                else
                {
                    pictureBox2.BackColor = Color.White;
                }

                if (Color_p3_5x7 == false)
                {
                    pictureBox3.BackColor = Color.Blue;
                }

                else
                {
                    pictureBox3.BackColor = Color.White;
                }

                if (Color_p4_5x7 == false)
                {
                    pictureBox4.BackColor = Color.Blue;
                }

                else
                {
                    pictureBox4.BackColor = Color.White;
                }
                Color_5x7 = false;
            }
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (checkBox_Color_5x7.Checked == false)
            {
                if (Color_p1_5x7 == true)
                {
                    pictureBox1.BackColor = Color.Lime;
                    Color_p1_5x7 = false;
                }

                else
                {
                    pictureBox1.BackColor = Color.Black;
                    Color_p1_5x7 = true;
                }
            }
            else
            {
                if (Color_p1_5x7 == true)
                {
                    pictureBox1.BackColor = Color.Blue;
                    Color_p1_5x7 = false;
                }

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

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            if (checkBox_Color_5x7.Checked == false)
            {
                if (Color_p2_5x7 == true)
                {
                    pictureBox2.BackColor = Color.Lime;
                    Color_p2_5x7 = false;
                }

                else
                {
                    pictureBox2.BackColor = Color.Black;
                    Color_p2_5x7 = true;
                }
            }
            else
            {
                if (Color_p2_5x7 == true)
                {
                    pictureBox2.BackColor = Color.Blue;
                    Color_p2_5x7 = false;
                }

                else
                {
                    pictureBox2.BackColor = Color.White;
                    Color_p2_5x7 = true;
                }
            }
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            if (checkBox_Color_5x7.Checked == false)
            {
                if (Color_p3_5x7 == true)
                {
                    pictureBox3.BackColor = Color.Lime;
                    Color_p3_5x7 = false;
                }

                else
                {
                    pictureBox3.BackColor = Color.Black;
                    Color_p3_5x7 = true;
                }
            }
            else
            {
                if (Color_p3_5x7 == true)
                {
                    pictureBox3.BackColor = Color.Blue;
                    Color_p3_5x7 = false;
                }

                else
                {
                    pictureBox3.BackColor = Color.White;
                    Color_p3_5x7 = true;
                }
            }
        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {
            if (checkBox_Color_5x7.Checked == false)
            {
                if (Color_p4_5x7 == true)
                {
                    pictureBox4.BackColor = Color.Lime;
                    Color_p4_5x7 = false;
                }

                else
                {
                    pictureBox4.BackColor = Color.Black;
                    Color_p4_5x7 = true;
                }
            }
            else
            {
                if (Color_p4_5x7 == true)
                {
                    pictureBox4.BackColor = Color.Blue;
                    Color_p4_5x7 = false;
                }

                else
                {
                    pictureBox4.BackColor = Color.White;
                    Color_p4_5x7 = true;
                }
            }
        }

        private void button_Invertir_Click(object sender, EventArgs e)
        {
            if (Color_5x7 == true)
            {
                if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.Black;
                }

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

                if (Color_p2_5x7 == false)
                {
                    Color_p2_5x7 = true;
                    pictureBox2.BackColor = Color.Black;
                }

                else
                {
                    Color_p2_5x7 = false;
                    pictureBox2.BackColor = Color.Lime;
                }

                if (Color_p3_5x7 == false)
                {
                    Color_p3_5x7 = true;
                    pictureBox3.BackColor = Color.Black;
                }

                else
                {
                    Color_p3_5x7 = false;
                    pictureBox3.BackColor = Color.Lime;
                }

                if (Color_p4_5x7 == false)
                {
                    Color_p4_5x7 = true;
                    pictureBox4.BackColor = Color.Black;
                }

                else
                {
                    Color_p4_5x7 = false;
                    pictureBox4.BackColor = Color.Lime;
                }
            }

            else
            {
                if (Color_p1_5x7 == false)
                {
                    Color_p1_5x7 = true;
                    pictureBox1.BackColor = Color.White;
                }

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

                if (Color_p2_5x7 == false)
                {
                    Color_p2_5x7 = true;
                    pictureBox2.BackColor = Color.White;
                }

                else
                {
                    Color_p2_5x7 = false;
                    pictureBox2.BackColor = Color.Blue;
                }

                if (Color_p3_5x7 == false)
                {
                    Color_p3_5x7 = true;
                    pictureBox3.BackColor = Color.White;
                }

                else
                {
                    Color_p3_5x7 = false;
                    pictureBox3.BackColor = Color.Blue;
                }

                if (Color_p4_5x7 == false)
                {
                    Color_p4_5x7 = true;
                    pictureBox4.BackColor = Color.White;
                }

                else
                {
                    Color_p4_5x7 = false;
                    pictureBox4.BackColor = Color.Blue;
                }
            }
        }
    }
}


Si eso no funciona entonces no sé que estés haciendo mal porque yo ya corrí la aplicación y funciona de maravilla. :/ Un saludo y mucha suerte.
www.es.neftis-ai.com

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