Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Meta en 22 Agosto 2014, 11:15 am



Título: No me salen algunas cosas con C#
Publicado por: Meta en 22 Agosto 2014, 11:15 am
(http://social.msdn.microsoft.com/Forums/getfile/514748)

(http://social.msdn.microsoft.com/Forums/getfile/514750)

Hay dos objetivos que no me salen.

1) Cuando tengo algunos pictureBox activado, en esta caso solo uno. Quiero lograr de alguna manera que al pulsar "Color azul" las veces que quiera, no pierda los estados de los pictureBox que he marcado con el ratón pulsándolos. Si no entiendes lo que quiero decir sobre algo. Pregunta.

2) El botón "Invertir estados" lo que hace que los picturesBox activados y desactivados se inviertan, es decir, los que están activados se desactivan y los que están desactivados se activan.

El código fuente de lo que he hecho hasta ahora es esto:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Picture_Colores
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        bool Color_5x7 = true;
  21.        bool Color_p1_5x7 = false;
  22.        bool Color_p2_5x7 = false;
  23.        bool Color_p3_5x7 = false;
  24.        bool Color_p4_5x7 = false;
  25.  
  26.        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
  27.        {
  28.            if (Color_5x7 == false)
  29.            {
  30.                groupBox1.BackColor = Color.LawnGreen;
  31.                groupBox1.ForeColor = Color.Black;
  32.                Color_5x7 = true;
  33.            }
  34.  
  35.            else
  36.            {
  37.                groupBox1.BackColor = Color.RoyalBlue;
  38.                groupBox1.ForeColor = Color.White;
  39.                Color_5x7 = false;
  40.            }
  41.        }
  42.  
  43.        private void pictureBox1_Click(object sender, EventArgs e)
  44.        {
  45.            if (checkBox_Color_5x7.Checked == false)
  46.            {
  47.                if (Color_p1_5x7 == true)
  48.                {
  49.                    pictureBox1.BackColor = Color.Lime;
  50.                    Color_p1_5x7 = false;
  51.                }
  52.  
  53.                else
  54.                {
  55.                    pictureBox1.BackColor = Color.Black;
  56.                    Color_p1_5x7 = true;
  57.                }
  58.            }
  59.            else
  60.            {
  61.                if (Color_p1_5x7 == true)
  62.                {
  63.                    pictureBox1.BackColor = Color.Blue;
  64.                    Color_p1_5x7 = false;
  65.                }
  66.  
  67.                else
  68.                {
  69.                    pictureBox1.BackColor = Color.White;
  70.                    Color_p1_5x7 = true;
  71.                }
  72.            }
  73.        }
  74.  
  75.        private void pictureBox2_Click(object sender, EventArgs e)
  76.        {
  77.            if (checkBox_Color_5x7.Checked == false)
  78.            {
  79.                if (Color_p2_5x7 == true)
  80.                {
  81.                    pictureBox2.BackColor = Color.Lime;
  82.                    Color_p2_5x7 = false;
  83.                }
  84.  
  85.                else
  86.                {
  87.                    pictureBox2.BackColor = Color.Black;
  88.                    Color_p2_5x7 = true;
  89.                }
  90.            }
  91.            else
  92.            {
  93.                if (Color_p2_5x7 == true)
  94.                {
  95.                    pictureBox2.BackColor = Color.Blue;
  96.                    Color_p2_5x7 = false;
  97.                }
  98.  
  99.                else
  100.                {
  101.                    pictureBox2.BackColor = Color.White;
  102.                    Color_p2_5x7 = true;
  103.                }
  104.            }
  105.        }
  106.  
  107.        private void pictureBox3_Click(object sender, EventArgs e)
  108.        {
  109.            if (checkBox_Color_5x7.Checked == false)
  110.            {
  111.                if (Color_p3_5x7 == true)
  112.                {
  113.                    pictureBox3.BackColor = Color.Lime;
  114.                    Color_p3_5x7 = false;
  115.                }
  116.  
  117.                else
  118.                {
  119.                    pictureBox3.BackColor = Color.Black;
  120.                    Color_p3_5x7 = true;
  121.                }
  122.            }
  123.            else
  124.            {
  125.                if (Color_p3_5x7 == true)
  126.                {
  127.                    pictureBox3.BackColor = Color.Blue;
  128.                    Color_p3_5x7 = false;
  129.                }
  130.  
  131.                else
  132.                {
  133.                    pictureBox3.BackColor = Color.White;
  134.                    Color_p3_5x7 = true;
  135.                }
  136.            }
  137.        }
  138.  
  139.        private void pictureBox4_Click(object sender, EventArgs e)
  140.        {
  141.            if (checkBox_Color_5x7.Checked == false)
  142.            {
  143.                if (Color_p4_5x7 == true)
  144.                {
  145.                    pictureBox4.BackColor = Color.Lime;
  146.                    Color_p4_5x7 = false;
  147.                }
  148.  
  149.                else
  150.                {
  151.                    pictureBox4.BackColor = Color.Black;
  152.                    Color_p4_5x7 = true;
  153.                }
  154.            }
  155.            else
  156.            {
  157.                if (Color_p4_5x7 == true)
  158.                {
  159.                    pictureBox4.BackColor = Color.Blue;
  160.                    Color_p4_5x7 = false;
  161.                }
  162.  
  163.                else
  164.                {
  165.                    pictureBox4.BackColor = Color.White;
  166.                    Color_p4_5x7 = true;
  167.                }
  168.            }
  169.        }
  170.    }
  171. }

Un cordial saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 23 Agosto 2014, 22:00 pm
Para cambiar el color y que los estados permanezcan es necesario que evalúes el estado al presionar el checkbox y realices el cambio del color:

Código
  1. if (Color_5x7 == false)
  2.            {
  3.                groupBox1.BackColor = Color.LawnGreen;
  4.                groupBox1.ForeColor = Color.Black;
  5.                if(bool Color_p1_5x7 == false)
  6.                   pictureBox1.BackColor = // Aquí el color para el estado desactivado.
  7.                else
  8.                   pictureBox1.BackColor = // Aquí el color para el estado activado.
  9. // Repetir el 'if' anterior para cada picturebox
  10.                Color_5x7 = true;
  11.            }
  12.  
  13.            else
  14.            {
  15.                groupBox1.BackColor = Color.RoyalBlue;
  16.                groupBox1.ForeColor = Color.White;
  17.                if(bool Color_p1_5x7 == false)
  18.                   pictureBox1.BackColor = // Aquí el color para el estado desactivado.
  19.                else
  20.                   pictureBox1.BackColor = // Aquí el color para el estado activado.
  21. // Repetir el 'if' anterior para cada picturebox
  22.                Color_5x7 = false;
  23.            }

Y para invertir los estados sería de una manera similar. Compruebas el estado de cada cuadro y cambias su valor, después inviertes el color.

Código
  1. if(bool Color_p1_5x7 == false)
  2. {
  3.   Color_p1_5x7 = true;
  4.   pictureBox1.BackColor = // Color para el estado activo.
  5. }else{
  6.   Color_p1_5x7 = false;
  7.   pictureBox1.BackColor = // Color para el estado inactivo.
  8. }

Y repites los if para cada picturebox.

Como sugerencia, para evitarte tanto código deberías cambiar las condiciones y trabajar con variables del tipo 'Color' y realizar la asignación mediante éstas. Saludos.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 24 Agosto 2014, 04:34 am
Hola:

Estándo en la primera parte he intentado hacer el código usando las {} para tenerlo como más ordenado. A lo mejor me he equivocado, no me sale elefecto esperado.

Solo he cambiado el código del pictureBox 1, el primero.

Código
  1.        private void pictureBox1_Click(object sender, EventArgs e)
  2.        {
  3.         if (Color_5x7 == false)
  4.         {
  5.             groupBox1.BackColor = Color.LawnGreen;
  6.             groupBox1.ForeColor = Color.Black;
  7.  
  8.             if (Color_p1_5x7 == false)
  9.             {
  10.                 pictureBox1.BackColor = Color.Lime;
  11.             }
  12.  
  13.             else
  14.             {
  15.                 pictureBox1.BackColor = Color.Black;
  16.             }
  17.             Color_5x7 = true;
  18.         }
  19.  
  20.         else
  21.         {
  22.             groupBox1.BackColor = Color.RoyalBlue;
  23.             groupBox1.ForeColor = Color.White;
  24.  
  25.             if (Color_p1_5x7 == false)
  26.             {
  27.                 pictureBox1.BackColor = Color.Blue;
  28.             }
  29.  
  30.             else
  31.             {
  32.                 pictureBox1.BackColor = Color.White;
  33.             }
  34.  
  35.             Color_5x7 = false;
  36.         }
  37.  
  38.        }

(http://www.subeimagenes.com/img/sin-titulo-1-1068100.gif)

Vuelvo a decirlo de otra manera, cuando el estado del checkBox, en este caso llamado "Color_azul" está desactivado, el fondo es verde. El cuadrado desactivado es verde de otro tono y el negro es activado.

Cuando se activa el checbox "Color_azul" sin que se pierda los valores marcados, la base es azul, la base me refiero el grgoupBox, el picture box azul más fuerte cuando está desactivado y se pone blanco cuando es activado.

Saludos.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 24 Agosto 2014, 06:45 am
Ah, es que el primer código que yo puse no va en los picturebox sino en el código del checkbox. Y el segundo código en el botón que invierte los estados.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 24 Agosto 2014, 07:41 am
Entendido. Ahora funciona un poco mejor, aún así tiene algo que no concuerda, algún fallo de despiste.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. // 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
  12. // http://foro.elhacker.net/net/no_me_salen_algunas_cosas_con_c-t420178.0.html
  13. // http://www.forosdelweb.com/f29/no-salen-algunas-cosas-con-c-1107200/
  14.  
  15. namespace Picture_Colores
  16. {
  17.    public partial class Form1 : Form
  18.    {
  19.        public Form1()
  20.        {
  21.            InitializeComponent();
  22.        }
  23.  
  24.        bool Color_5x7 = true;
  25.        bool Color_p1_5x7 = false;
  26.        bool Color_p2_5x7 = false;
  27.        bool Color_p3_5x7 = false;
  28.        bool Color_p4_5x7 = false;
  29.  
  30.        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
  31.        {
  32.            if (Color_5x7 == false)
  33.            {
  34.                groupBox1.BackColor = Color.LawnGreen;
  35.                groupBox1.ForeColor = Color.Black;
  36.  
  37.                if (Color_p1_5x7 == false)
  38.                {
  39.                    pictureBox1.BackColor = Color.Lime;
  40.                }
  41.  
  42.                else
  43.                {
  44.                    pictureBox1.BackColor = Color.Black;
  45.                }
  46.  
  47.                Color_5x7 = true;
  48.            }
  49.  
  50.            else
  51.            {
  52.                groupBox1.BackColor = Color.RoyalBlue;
  53.                groupBox1.ForeColor = Color.White;
  54.  
  55.                if (Color_p1_5x7 == false)
  56.                {
  57.                    pictureBox1.BackColor = Color.Blue;
  58.                }
  59.  
  60.                else
  61.                {
  62.                    pictureBox1.BackColor = Color.White;
  63.                }
  64.  
  65.                Color_5x7 = false;
  66.            }
  67.        }
  68.  
  69.        private void pictureBox1_Click(object sender, EventArgs e)
  70.        {
  71.            if (checkBox_Color_5x7.Checked == false)
  72.            {
  73.                if (Color_p1_5x7 == true)
  74.                {
  75.                    pictureBox1.BackColor = Color.Lime;
  76.                    Color_p1_5x7 = false;
  77.                }
  78.  
  79.                else
  80.                {
  81.                    pictureBox1.BackColor = Color.Black;
  82.                    Color_p1_5x7 = true;
  83.                }
  84.            }
  85.            else
  86.            {
  87.                if (Color_p1_5x7 == true)
  88.                {
  89.                    pictureBox1.BackColor = Color.Blue;
  90.                    Color_p1_5x7 = false;
  91.                }
  92.  
  93.                else
  94.                {
  95.                    pictureBox1.BackColor = Color.White;
  96.                    Color_p1_5x7 = true;
  97.                }
  98.            }
  99.        }
  100.  
  101.        private void pictureBox2_Click(object sender, EventArgs e)
  102.        {
  103.            if (checkBox_Color_5x7.Checked == false)
  104.            {
  105.                if (Color_p2_5x7 == true)
  106.                {
  107.                    pictureBox2.BackColor = Color.Lime;
  108.                    Color_p2_5x7 = false;
  109.                }
  110.  
  111.                else
  112.                {
  113.                    pictureBox2.BackColor = Color.Black;
  114.                    Color_p2_5x7 = true;
  115.                }
  116.            }
  117.            else
  118.            {
  119.                if (Color_p2_5x7 == true)
  120.                {
  121.                    pictureBox2.BackColor = Color.Blue;
  122.                    Color_p2_5x7 = false;
  123.                }
  124.  
  125.                else
  126.                {
  127.                    pictureBox2.BackColor = Color.White;
  128.                    Color_p2_5x7 = true;
  129.                }
  130.            }
  131.        }
  132.  
  133.        private void pictureBox3_Click(object sender, EventArgs e)
  134.        {
  135.            if (checkBox_Color_5x7.Checked == false)
  136.            {
  137.                if (Color_p3_5x7 == true)
  138.                {
  139.                    pictureBox3.BackColor = Color.Lime;
  140.                    Color_p3_5x7 = false;
  141.                }
  142.  
  143.                else
  144.                {
  145.                    pictureBox3.BackColor = Color.Black;
  146.                    Color_p3_5x7 = true;
  147.                }
  148.            }
  149.            else
  150.            {
  151.                if (Color_p3_5x7 == true)
  152.                {
  153.                    pictureBox3.BackColor = Color.Blue;
  154.                    Color_p3_5x7 = false;
  155.                }
  156.  
  157.                else
  158.                {
  159.                    pictureBox3.BackColor = Color.White;
  160.                    Color_p3_5x7 = true;
  161.                }
  162.            }
  163.        }
  164.  
  165.        private void pictureBox4_Click(object sender, EventArgs e)
  166.        {
  167.            if (checkBox_Color_5x7.Checked == false)
  168.            {
  169.                if (Color_p4_5x7 == true)
  170.                {
  171.                    pictureBox4.BackColor = Color.Lime;
  172.                    Color_p4_5x7 = false;
  173.                }
  174.  
  175.                else
  176.                {
  177.                    pictureBox4.BackColor = Color.Black;
  178.                    Color_p4_5x7 = true;
  179.                }
  180.            }
  181.            else
  182.            {
  183.                if (Color_p4_5x7 == true)
  184.                {
  185.                    pictureBox4.BackColor = Color.Blue;
  186.                    Color_p4_5x7 = false;
  187.                }
  188.  
  189.                else
  190.                {
  191.                    pictureBox4.BackColor = Color.White;
  192.                    Color_p4_5x7 = true;
  193.                }
  194.            }
  195.        }
  196.    }
  197. }
  198.  

Me funciona en el pictureBox1, el pictureBox2 no hace el cambio en el checbox "Color azul".

Saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 24 Agosto 2014, 09:43 am
Eso es porque no has escrito el código par los demás picturebox. Si te fijas en la primer respuesta que te dejé (en los comentarios escribí dentro del código) había instrucciones del código que debías escribir ahí. Sólo tienes que repetir el 'if' que hace el cambio en el picturebox1, pero ahora para cada uno de los demás picturebox.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 24 Agosto 2014, 11:14 am
Buenas:

Funciona mejor pero hay peros. Tiene comportamientos no deseados.

Si cambios todos a 1 desde el chekbox, lo pulso varias veces repetidas, luego pulso uno a  uno a los pictureBox, se comporta de modo raro.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Picture_Colores
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        bool Color_5x7 = true;
  21.        bool Color_p1_5x7 = false;
  22.        bool Color_p2_5x7 = false;
  23.        bool Color_p3_5x7 = false;
  24.        bool Color_p4_5x7 = false;
  25.  
  26.        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
  27.        {
  28.            if (Color_5x7 == false)
  29.            {
  30.                groupBox1.BackColor = Color.LawnGreen;
  31.                groupBox1.ForeColor = Color.Black;
  32.  
  33.                if (Color_p1_5x7 == false)
  34.                {
  35.                    pictureBox1.BackColor = Color.Lime;
  36.                    pictureBox2.BackColor = Color.Lime;
  37.                    pictureBox3.BackColor = Color.Lime;
  38.                    pictureBox4.BackColor = Color.Lime;
  39.                }
  40.  
  41.                else
  42.                {
  43.                    pictureBox1.BackColor = Color.Black;
  44.                    pictureBox2.BackColor = Color.Black;
  45.                    pictureBox3.BackColor = Color.Black;
  46.                    pictureBox4.BackColor = Color.Black;
  47.                }
  48.  
  49.                Color_5x7 = true;
  50.            }
  51.  
  52.            else
  53.            {
  54.                groupBox1.BackColor = Color.RoyalBlue;
  55.                groupBox1.ForeColor = Color.White;
  56.  
  57.                if (Color_p1_5x7 == false)
  58.                {
  59.                    pictureBox1.BackColor = Color.Blue;
  60.                    pictureBox2.BackColor = Color.Blue;
  61.                    pictureBox3.BackColor = Color.Blue;
  62.                    pictureBox4.BackColor = Color.Blue;
  63.                }
  64.  
  65.                else
  66.                {
  67.                    pictureBox1.BackColor = Color.White;
  68.                    pictureBox2.BackColor = Color.White;
  69.                    pictureBox3.BackColor = Color.White;
  70.                    pictureBox4.BackColor = Color.White;
  71.                }
  72.  
  73.                Color_5x7 = false;
  74.            }
  75.        }
  76.  
  77.        private void pictureBox1_Click(object sender, EventArgs e)
  78.        {
  79.            if (checkBox_Color_5x7.Checked == false)
  80.            {
  81.                if (Color_p1_5x7 == true)
  82.                {
  83.                    pictureBox1.BackColor = Color.Lime;
  84.                    Color_p1_5x7 = false;
  85.                }
  86.  
  87.                else
  88.                {
  89.                    pictureBox1.BackColor = Color.Black;
  90.                    Color_p1_5x7 = true;
  91.                }
  92.            }
  93.            else
  94.            {
  95.                if (Color_p1_5x7 == true)
  96.                {
  97.                    pictureBox1.BackColor = Color.Blue;
  98.                    Color_p1_5x7 = false;
  99.                }
  100.  
  101.                else
  102.                {
  103.                    pictureBox1.BackColor = Color.White;
  104.                    Color_p1_5x7 = true;
  105.                }
  106.            }
  107.        }
  108.  
  109.        private void pictureBox2_Click(object sender, EventArgs e)
  110.        {
  111.            if (checkBox_Color_5x7.Checked == false)
  112.            {
  113.                if (Color_p2_5x7 == true)
  114.                {
  115.                    pictureBox2.BackColor = Color.Lime;
  116.                    Color_p2_5x7 = false;
  117.                }
  118.  
  119.                else
  120.                {
  121.                    pictureBox2.BackColor = Color.Black;
  122.                    Color_p2_5x7 = true;
  123.                }
  124.            }
  125.            else
  126.            {
  127.                if (Color_p2_5x7 == true)
  128.                {
  129.                    pictureBox2.BackColor = Color.Blue;
  130.                    Color_p2_5x7 = false;
  131.                }
  132.  
  133.                else
  134.                {
  135.                    pictureBox2.BackColor = Color.White;
  136.                    Color_p2_5x7 = true;
  137.                }
  138.            }
  139.        }
  140.  
  141.        private void pictureBox3_Click(object sender, EventArgs e)
  142.        {
  143.            if (checkBox_Color_5x7.Checked == false)
  144.            {
  145.                if (Color_p3_5x7 == true)
  146.                {
  147.                    pictureBox3.BackColor = Color.Lime;
  148.                    Color_p3_5x7 = false;
  149.                }
  150.  
  151.                else
  152.                {
  153.                    pictureBox3.BackColor = Color.Black;
  154.                    Color_p3_5x7 = true;
  155.                }
  156.            }
  157.            else
  158.            {
  159.                if (Color_p3_5x7 == true)
  160.                {
  161.                    pictureBox3.BackColor = Color.Blue;
  162.                    Color_p3_5x7 = false;
  163.                }
  164.  
  165.                else
  166.                {
  167.                    pictureBox3.BackColor = Color.White;
  168.                    Color_p3_5x7 = true;
  169.                }
  170.            }
  171.        }
  172.  
  173.        private void pictureBox4_Click(object sender, EventArgs e)
  174.        {
  175.            if (checkBox_Color_5x7.Checked == false)
  176.            {
  177.                if (Color_p4_5x7 == true)
  178.                {
  179.                    pictureBox4.BackColor = Color.Lime;
  180.                    Color_p4_5x7 = false;
  181.                }
  182.  
  183.                else
  184.                {
  185.                    pictureBox4.BackColor = Color.Black;
  186.                    Color_p4_5x7 = true;
  187.                }
  188.            }
  189.            else
  190.            {
  191.                if (Color_p4_5x7 == true)
  192.                {
  193.                    pictureBox4.BackColor = Color.Blue;
  194.                    Color_p4_5x7 = false;
  195.                }
  196.  
  197.                else
  198.                {
  199.                    pictureBox4.BackColor = Color.White;
  200.                    Color_p4_5x7 = true;
  201.                }
  202.            }
  203.        }
  204.    }
  205. }
  206.  

Saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 25 Agosto 2014, 06:34 am
Mmmmmmm, no. Definitivamente no me refería a eso sino ha esto:

Código
  1. if (Color_5x7 == false)
  2.            {
  3.                groupBox1.BackColor = Color.LawnGreen;
  4.                groupBox1.ForeColor = Color.Black;
  5.                if(bool Color_p1_5x7 == false)
  6.                   pictureBox1.BackColor = // Aquí el color para el estado desactivado.
  7.                else
  8.                   pictureBox1.BackColor = // Aquí el color para el estado activado.
  9. // Repetir el 'if' anterior para cada picturebox
  10.                // ***********             OJO          ******************
  11.                // *********** Repetir toda la condición if **************
  12.                if(bool Color_p2_5x7 == false)
  13.                   pictureBox2.BackColor = // Aquí el color para el estado desactivado.
  14.                else
  15.                   pictureBox2.BackColor = // Aquí el color para el estado activado.
  16.                Color_5x7 = true;
  17.            }
  18.  
  19.            else
  20.            {
  21.                groupBox1.BackColor = Color.RoyalBlue;
  22.                groupBox1.ForeColor = Color.White;
  23.                if(bool Color_p1_5x7 == false)
  24.                   pictureBox1.BackColor = // Aquí el color para el estado desactivado.
  25.                else
  26.                   pictureBox1.BackColor = // Aquí el color para el estado activado.
  27. // Repetir el 'if' anterior para cada picturebox
  28.                // ***********             OJO          ******************
  29.                // *********** Repetir toda la condición if **************
  30.                if(bool Color_p2_5x7 == false)
  31.                   pictureBox2.BackColor = // Aquí el color para el estado desactivado.
  32.                else
  33.                   pictureBox2.BackColor = // Aquí el color para el estado activado.
  34.                Color_5x7 = false;
  35.            }

El código es del checkbox.
Ahora sí has lo mismo que hice en el código anterior, donde a cada picturebox le corresponde un if Fíjate como en el ejemplo todavía me faltan dos picturebox por comprobar. Espero que ya con eso no te de problemas. Saludos.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 25 Agosto 2014, 07:25 am
Ahora si funciona. Por fiiiiiiiiiiiinnnnnnnnnnn.  ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Picture_Colores
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        bool Color_5x7 = true;
  21.        bool Color_p1_5x7 = false;
  22.        bool Color_p2_5x7 = false;
  23.        bool Color_p3_5x7 = false;
  24.        bool Color_p4_5x7 = false;
  25.  
  26.        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
  27.        {
  28.            if (Color_5x7 == false)
  29.            {
  30.                groupBox1.BackColor = Color.LawnGreen;
  31.                groupBox1.ForeColor = Color.Black;
  32.  
  33.                if (Color_p1_5x7 == false)
  34.                {
  35.                    pictureBox1.BackColor = Color.Lime;
  36.                }
  37.  
  38.                else
  39.                {
  40.                    pictureBox1.BackColor = Color.Black;
  41.                }
  42.  
  43.                if (Color_p2_5x7 == false)
  44.                {
  45.                    pictureBox2.BackColor = Color.Lime;
  46.                }
  47.  
  48.                else
  49.                {
  50.                    pictureBox2.BackColor = Color.Black;
  51.                }
  52.  
  53.                if (Color_p3_5x7 == false)
  54.                {
  55.                    pictureBox3.BackColor = Color.Lime;
  56.                }
  57.  
  58.                else
  59.                {
  60.                    pictureBox3.BackColor = Color.Black;
  61.                }
  62.  
  63.                if (Color_p4_5x7 == false)
  64.                {
  65.                    pictureBox4.BackColor = Color.Lime;
  66.                }
  67.  
  68.                else
  69.                {
  70.                    pictureBox4.BackColor = Color.Black;
  71.                }
  72.  
  73.                Color_5x7 = true;
  74.            }
  75.  
  76.            else
  77.            {
  78.                groupBox1.BackColor = Color.RoyalBlue;
  79.                groupBox1.ForeColor = Color.White;
  80.  
  81.                if (Color_p1_5x7 == false)
  82.                {
  83.                    pictureBox1.BackColor = Color.Blue;
  84.                }
  85.  
  86.                else
  87.                {
  88.                    pictureBox1.BackColor = Color.White;
  89.                }
  90.  
  91.                if (Color_p2_5x7 == false)
  92.                {
  93.                    pictureBox2.BackColor = Color.Blue;
  94.                }
  95.  
  96.                else
  97.                {
  98.                    pictureBox2.BackColor = Color.White;
  99.                }
  100.  
  101.                if (Color_p3_5x7 == false)
  102.                {
  103.                    pictureBox3.BackColor = Color.Blue;
  104.                }
  105.  
  106.                else
  107.                {
  108.                    pictureBox3.BackColor = Color.White;
  109.                }
  110.  
  111.                if (Color_p4_5x7 == false)
  112.                {
  113.                    pictureBox4.BackColor = Color.Blue;
  114.                }
  115.  
  116.                else
  117.                {
  118.                    pictureBox4.BackColor = Color.White;
  119.                }
  120.                Color_5x7 = false;
  121.            }
  122.        }
  123.  
  124.        private void pictureBox1_Click(object sender, EventArgs e)
  125.        {
  126.            if (checkBox_Color_5x7.Checked == false)
  127.            {
  128.                if (Color_p1_5x7 == true)
  129.                {
  130.                    pictureBox1.BackColor = Color.Lime;
  131.                    Color_p1_5x7 = false;
  132.                }
  133.  
  134.                else
  135.                {
  136.                    pictureBox1.BackColor = Color.Black;
  137.                    Color_p1_5x7 = true;
  138.                }
  139.            }
  140.            else
  141.            {
  142.                if (Color_p1_5x7 == true)
  143.                {
  144.                    pictureBox1.BackColor = Color.Blue;
  145.                    Color_p1_5x7 = false;
  146.                }
  147.  
  148.                else
  149.                {
  150.                    pictureBox1.BackColor = Color.White;
  151.                    Color_p1_5x7 = true;
  152.                }
  153.            }
  154.        }
  155.  
  156.        private void pictureBox2_Click(object sender, EventArgs e)
  157.        {
  158.            if (checkBox_Color_5x7.Checked == false)
  159.            {
  160.                if (Color_p2_5x7 == true)
  161.                {
  162.                    pictureBox2.BackColor = Color.Lime;
  163.                    Color_p2_5x7 = false;
  164.                }
  165.  
  166.                else
  167.                {
  168.                    pictureBox2.BackColor = Color.Black;
  169.                    Color_p2_5x7 = true;
  170.                }
  171.            }
  172.            else
  173.            {
  174.                if (Color_p2_5x7 == true)
  175.                {
  176.                    pictureBox2.BackColor = Color.Blue;
  177.                    Color_p2_5x7 = false;
  178.                }
  179.  
  180.                else
  181.                {
  182.                    pictureBox2.BackColor = Color.White;
  183.                    Color_p2_5x7 = true;
  184.                }
  185.            }
  186.        }
  187.  
  188.        private void pictureBox3_Click(object sender, EventArgs e)
  189.        {
  190.            if (checkBox_Color_5x7.Checked == false)
  191.            {
  192.                if (Color_p3_5x7 == true)
  193.                {
  194.                    pictureBox3.BackColor = Color.Lime;
  195.                    Color_p3_5x7 = false;
  196.                }
  197.  
  198.                else
  199.                {
  200.                    pictureBox3.BackColor = Color.Black;
  201.                    Color_p3_5x7 = true;
  202.                }
  203.            }
  204.            else
  205.            {
  206.                if (Color_p3_5x7 == true)
  207.                {
  208.                    pictureBox3.BackColor = Color.Blue;
  209.                    Color_p3_5x7 = false;
  210.                }
  211.  
  212.                else
  213.                {
  214.                    pictureBox3.BackColor = Color.White;
  215.                    Color_p3_5x7 = true;
  216.                }
  217.            }
  218.        }
  219.  
  220.        private void pictureBox4_Click(object sender, EventArgs e)
  221.        {
  222.            if (checkBox_Color_5x7.Checked == false)
  223.            {
  224.                if (Color_p4_5x7 == true)
  225.                {
  226.                    pictureBox4.BackColor = Color.Lime;
  227.                    Color_p4_5x7 = false;
  228.                }
  229.  
  230.                else
  231.                {
  232.                    pictureBox4.BackColor = Color.Black;
  233.                    Color_p4_5x7 = true;
  234.                }
  235.            }
  236.            else
  237.            {
  238.                if (Color_p4_5x7 == true)
  239.                {
  240.                    pictureBox4.BackColor = Color.Blue;
  241.                    Color_p4_5x7 = false;
  242.                }
  243.  
  244.                else
  245.                {
  246.                    pictureBox4.BackColor = Color.White;
  247.                    Color_p4_5x7 = true;
  248.                }
  249.            }
  250.        }
  251.    }
  252. }
  253.  

Ahora queda pulir el botón "Invertir".

Antes de seguir, horas y horas, con dolores en los ojos por mirar tanto el monitor y falta de sueño. Prefiero dejar el código justo abajo del botón Invertir.

Código
  1.        private void button_Invertir_Click(object sender, EventArgs e)
  2.        {
  3.            if (Color_5x7 == false)
  4.            {
  5.                if (Color_p1_5x7 == false)
  6.                {
  7.                    Color_p1_5x7 = true;
  8.                    pictureBox1.BackColor = Color.Lime;
  9.                }
  10.  
  11.                else
  12.                {
  13.                    Color_p1_5x7 = false;
  14.                    pictureBox1.BackColor = Color.Black;
  15.                }
  16.  
  17.                if (Color_p2_5x7 == false)
  18.                {
  19.                    Color_p2_5x7 = true;
  20.                    pictureBox2.BackColor = Color.Lime;
  21.                }
  22.  
  23.                else
  24.                {
  25.                    Color_p2_5x7 = false;
  26.                    pictureBox2.BackColor = Color.Black;
  27.                }
  28.  
  29.                if (Color_p3_5x7 == false)
  30.                {
  31.                    Color_p3_5x7 = true;
  32.                    pictureBox3.BackColor = Color.Lime;
  33.                }
  34.  
  35.                else
  36.                {
  37.                    Color_p3_5x7 = false;
  38.                    pictureBox3.BackColor = Color.Black;
  39.                }
  40.  
  41.                if (Color_p4_5x7 == false)
  42.                {
  43.                    Color_p4_5x7 = true;
  44.                    pictureBox4.BackColor = Color.Lime;
  45.                }
  46.  
  47.                else
  48.                {
  49.                    Color_p4_5x7 = false;
  50.                    pictureBox4.BackColor = Color.Black;
  51.                }
  52.  
  53.                Color_5x7 = true;
  54.            }
  55.  
  56.            else
  57.            {
  58.                if (Color_p1_5x7 == false)
  59.                {
  60.                    Color_p1_5x7 = true;
  61.                    pictureBox1.BackColor = Color.Blue;
  62.                }
  63.  
  64.                else
  65.                {
  66.                    Color_p1_5x7 = false;
  67.                    pictureBox1.BackColor = Color.White;
  68.                }
  69.  
  70.                if (Color_p2_5x7 == false)
  71.                {
  72.                    Color_p2_5x7 = true;
  73.                    pictureBox2.BackColor = Color.Blue;
  74.                }
  75.  
  76.                else
  77.                {
  78.                    Color_p2_5x7 = false;
  79.                    pictureBox2.BackColor = Color.White;
  80.                }
  81.  
  82.                if (Color_p3_5x7 == false)
  83.                {
  84.                    Color_p3_5x7 = true;
  85.                    pictureBox3.BackColor = Color.Blue;
  86.                }
  87.  
  88.                else
  89.                {
  90.                    Color_p3_5x7 = false;
  91.                    pictureBox3.BackColor = Color.White;
  92.                }
  93.  
  94.                if (Color_p4_5x7 == false)
  95.                {
  96.                    Color_p4_5x7 = true;
  97.                    pictureBox4.BackColor = Color.Blue;
  98.                }
  99.  
  100.                else
  101.                {
  102.                    Color_p4_5x7 = false;
  103.                    pictureBox4.BackColor = Color.White;
  104.                }
  105.  
  106.                Color_5x7 = false;
  107.            }
  108.        }
  109.  

En cuanto al paso 1) ya está completado y me falta el paso 2). El botón Invertir no se comporta como debería, hace cosas raras.

Muchísimas gracias por la ayuda.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 26 Agosto 2014, 05:51 am
Por nada, para eso estamos aquí. Con exactitud ¿qué es lo que hace el botón y que no debería hacer? Espero que además de explicar puedas poner imágenes.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 26 Agosto 2014, 06:31 am
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.

(http://www.subeimagenes.com/img/color-1070345.gif)

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.
(http://www.subeimagenes.com/img/color-1070368.gif)

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.
(http://www.subeimagenes.com/img/color-1070373.gif)

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

Saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 26 Agosto 2014, 06:38 am
Ohhhh sí, creo ya tengo la solución y es más sencilla de lo que crees. Elimina las líneas:

Código
  1. Color_5x7 = true;

Y:

Código
  1. Color_5x7 = false;

Porque esas líneas lo que hacen es cambiar el color, como si hubieses presionado el checkbox.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 26 Agosto 2014, 07:32 am
Buenas:

Lo he quitado, da problemas.

Luego cambie de false a true el primer
Código
  1. if (Color_5x7 == true)

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

Saludo.




Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 26 Agosto 2014, 07:52 am
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
  1. private void button_Invertir_Click(object sender, EventArgs e)
  2.        {
  3.            if (Color_5x7 == false)
  4.            {
  5.                if (Color_p1_5x7 == false)
  6.                {
  7.                    Color_p1_5x7 = true;
  8.                    pictureBox1.BackColor = Color.Lime;
  9.                }
  10.  
  11.                else
  12.                {
  13.                    Color_p1_5x7 = false;
  14.                    pictureBox1.BackColor = Color.Black;
  15.                }
  16.  
  17.                if (Color_p2_5x7 == false)
  18.                {
  19.                    Color_p2_5x7 = true;
  20.                    pictureBox2.BackColor = Color.Lime;
  21.                }
  22.  
  23.                else
  24.                {
  25.                    Color_p2_5x7 = false;
  26.                    pictureBox2.BackColor = Color.Black;
  27.                }
  28.  
  29.                if (Color_p3_5x7 == false)
  30.                {
  31.                    Color_p3_5x7 = true;
  32.                    pictureBox3.BackColor = Color.Lime;
  33.                }
  34.  
  35.                else
  36.                {
  37.                    Color_p3_5x7 = false;
  38.                    pictureBox3.BackColor = Color.Black;
  39.                }
  40.  
  41.                if (Color_p4_5x7 == false)
  42.                {
  43.                    Color_p4_5x7 = true;
  44.                    pictureBox4.BackColor = Color.Lime;
  45.                }
  46.  
  47.                else
  48.                {
  49.                    Color_p4_5x7 = false;
  50.                    pictureBox4.BackColor = Color.Black;
  51.                }
  52.            }
  53.  
  54.            else
  55.            {
  56.                if (Color_p1_5x7 == false)
  57.                {
  58.                    Color_p1_5x7 = true;
  59.                    pictureBox1.BackColor = Color.Blue;
  60.                }
  61.  
  62.                else
  63.                {
  64.                    Color_p1_5x7 = false;
  65.                    pictureBox1.BackColor = Color.White;
  66.                }
  67.  
  68.                if (Color_p2_5x7 == false)
  69.                {
  70.                    Color_p2_5x7 = true;
  71.                    pictureBox2.BackColor = Color.Blue;
  72.                }
  73.  
  74.                else
  75.                {
  76.                    Color_p2_5x7 = false;
  77.                    pictureBox2.BackColor = Color.White;
  78.                }
  79.  
  80.                if (Color_p3_5x7 == false)
  81.                {
  82.                    Color_p3_5x7 = true;
  83.                    pictureBox3.BackColor = Color.Blue;
  84.                }
  85.  
  86.                else
  87.                {
  88.                    Color_p3_5x7 = false;
  89.                    pictureBox3.BackColor = Color.White;
  90.                }
  91.  
  92.                if (Color_p4_5x7 == false)
  93.                {
  94.                    Color_p4_5x7 = true;
  95.                    pictureBox4.BackColor = Color.Blue;
  96.                }
  97.  
  98.                else
  99.                {
  100.                    Color_p4_5x7 = false;
  101.                    pictureBox4.BackColor = Color.White;
  102.                }
  103.            }
  104.        }

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.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 26 Agosto 2014, 08:20 am
Se cambia el color del groupBox y no debería.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 26 Agosto 2014, 08:29 am
¿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. :)


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 26 Agosto 2014, 10:03 am
Te respondí en privado.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 27 Agosto 2014, 06:25 am
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.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 27 Agosto 2014, 09:14 am
Buenas:

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

(http://www.subeimagenes.com/img/csharp-1071583.gif)

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

Saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 27 Agosto 2014, 21:04 pm
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
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. // 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
  12. // http://foro.elhacker.net/net/no_me_salen_algunas_cosas_con_c-t420178.0.html
  13. // http://www.forosdelweb.com/f29/no-salen-algunas-cosas-con-c-1107200/
  14.  
  15. namespace Picture_Colores
  16. {
  17.    public partial class Form1 : Form
  18.    {
  19.        public Form1()
  20.        {
  21.            InitializeComponent();
  22.        }
  23.  
  24.        bool Color_5x7 = true;
  25.        bool Color_p1_5x7 = false;
  26.        bool Color_p2_5x7 = false;
  27.        bool Color_p3_5x7 = false;
  28.        bool Color_p4_5x7 = false;
  29.  
  30.        private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
  31.        {
  32.            if (Color_5x7 == false)
  33.            {
  34.                groupBox1.BackColor = Color.LawnGreen;
  35.                groupBox1.ForeColor = Color.Black;
  36.  
  37.                if (Color_p1_5x7 == false)
  38.                {
  39.                    pictureBox1.BackColor = Color.Lime;
  40.                }
  41.  
  42.                else
  43.                {
  44.                    pictureBox1.BackColor = Color.Black;
  45.                }
  46.  
  47.                if (Color_p2_5x7 == false)
  48.                {
  49.                    pictureBox2.BackColor = Color.Lime;
  50.                }
  51.  
  52.                else
  53.                {
  54.                    pictureBox2.BackColor = Color.Black;
  55.                }
  56.  
  57.                if (Color_p3_5x7 == false)
  58.                {
  59.                    pictureBox3.BackColor = Color.Lime;
  60.                }
  61.  
  62.                else
  63.                {
  64.                    pictureBox3.BackColor = Color.Black;
  65.                }
  66.  
  67.                if (Color_p4_5x7 == false)
  68.                {
  69.                    pictureBox4.BackColor = Color.Lime;
  70.                }
  71.  
  72.                else
  73.                {
  74.                    pictureBox4.BackColor = Color.Black;
  75.                }
  76.  
  77.                Color_5x7 = true;
  78.            }
  79.  
  80.            else
  81.            {
  82.                groupBox1.BackColor = Color.RoyalBlue;
  83.                groupBox1.ForeColor = Color.White;
  84.  
  85.                if (Color_p1_5x7 == false)
  86.                {
  87.                    pictureBox1.BackColor = Color.Blue;
  88.                }
  89.  
  90.                else
  91.                {
  92.                    pictureBox1.BackColor = Color.White;
  93.                }
  94.  
  95.                if (Color_p2_5x7 == false)
  96.                {
  97.                    pictureBox2.BackColor = Color.Blue;
  98.                }
  99.  
  100.                else
  101.                {
  102.                    pictureBox2.BackColor = Color.White;
  103.                }
  104.  
  105.                if (Color_p3_5x7 == false)
  106.                {
  107.                    pictureBox3.BackColor = Color.Blue;
  108.                }
  109.  
  110.                else
  111.                {
  112.                    pictureBox3.BackColor = Color.White;
  113.                }
  114.  
  115.                if (Color_p4_5x7 == false)
  116.                {
  117.                    pictureBox4.BackColor = Color.Blue;
  118.                }
  119.  
  120.                else
  121.                {
  122.                    pictureBox4.BackColor = Color.White;
  123.                }
  124.                Color_5x7 = false;
  125.            }
  126.        }
  127.  
  128.        private void pictureBox1_Click(object sender, EventArgs e)
  129.        {
  130.            if (checkBox_Color_5x7.Checked == false)
  131.            {
  132.                if (Color_p1_5x7 == true)
  133.                {
  134.                    pictureBox1.BackColor = Color.Lime;
  135.                    Color_p1_5x7 = false;
  136.                }
  137.  
  138.                else
  139.                {
  140.                    pictureBox1.BackColor = Color.Black;
  141.                    Color_p1_5x7 = true;
  142.                }
  143.            }
  144.            else
  145.            {
  146.                if (Color_p1_5x7 == true)
  147.                {
  148.                    pictureBox1.BackColor = Color.Blue;
  149.                    Color_p1_5x7 = false;
  150.                }
  151.  
  152.                else
  153.                {
  154.                    pictureBox1.BackColor = Color.White;
  155.                    Color_p1_5x7 = true;
  156.                }
  157.            }
  158.        }
  159.  
  160.        private void pictureBox2_Click(object sender, EventArgs e)
  161.        {
  162.            if (checkBox_Color_5x7.Checked == false)
  163.            {
  164.                if (Color_p2_5x7 == true)
  165.                {
  166.                    pictureBox2.BackColor = Color.Lime;
  167.                    Color_p2_5x7 = false;
  168.                }
  169.  
  170.                else
  171.                {
  172.                    pictureBox2.BackColor = Color.Black;
  173.                    Color_p2_5x7 = true;
  174.                }
  175.            }
  176.            else
  177.            {
  178.                if (Color_p2_5x7 == true)
  179.                {
  180.                    pictureBox2.BackColor = Color.Blue;
  181.                    Color_p2_5x7 = false;
  182.                }
  183.  
  184.                else
  185.                {
  186.                    pictureBox2.BackColor = Color.White;
  187.                    Color_p2_5x7 = true;
  188.                }
  189.            }
  190.        }
  191.  
  192.        private void pictureBox3_Click(object sender, EventArgs e)
  193.        {
  194.            if (checkBox_Color_5x7.Checked == false)
  195.            {
  196.                if (Color_p3_5x7 == true)
  197.                {
  198.                    pictureBox3.BackColor = Color.Lime;
  199.                    Color_p3_5x7 = false;
  200.                }
  201.  
  202.                else
  203.                {
  204.                    pictureBox3.BackColor = Color.Black;
  205.                    Color_p3_5x7 = true;
  206.                }
  207.            }
  208.            else
  209.            {
  210.                if (Color_p3_5x7 == true)
  211.                {
  212.                    pictureBox3.BackColor = Color.Blue;
  213.                    Color_p3_5x7 = false;
  214.                }
  215.  
  216.                else
  217.                {
  218.                    pictureBox3.BackColor = Color.White;
  219.                    Color_p3_5x7 = true;
  220.                }
  221.            }
  222.        }
  223.  
  224.        private void pictureBox4_Click(object sender, EventArgs e)
  225.        {
  226.            if (checkBox_Color_5x7.Checked == false)
  227.            {
  228.                if (Color_p4_5x7 == true)
  229.                {
  230.                    pictureBox4.BackColor = Color.Lime;
  231.                    Color_p4_5x7 = false;
  232.                }
  233.  
  234.                else
  235.                {
  236.                    pictureBox4.BackColor = Color.Black;
  237.                    Color_p4_5x7 = true;
  238.                }
  239.            }
  240.            else
  241.            {
  242.                if (Color_p4_5x7 == true)
  243.                {
  244.                    pictureBox4.BackColor = Color.Blue;
  245.                    Color_p4_5x7 = false;
  246.                }
  247.  
  248.                else
  249.                {
  250.                    pictureBox4.BackColor = Color.White;
  251.                    Color_p4_5x7 = true;
  252.                }
  253.            }
  254.        }
  255.  
  256.        private void button_Invertir_Click(object sender, EventArgs e)
  257.        {
  258.            if (Color_5x7 == true)
  259.            {
  260.                if (Color_p1_5x7 == false)
  261.                {
  262.                    Color_p1_5x7 = true;
  263.                    pictureBox1.BackColor = Color.Black;
  264.                }
  265.  
  266.                else
  267.                {
  268.                    Color_p1_5x7 = false;
  269.                    pictureBox1.BackColor = Color.Lime;
  270.                }
  271.  
  272.                if (Color_p2_5x7 == false)
  273.                {
  274.                    Color_p2_5x7 = true;
  275.                    pictureBox2.BackColor = Color.Black;
  276.                }
  277.  
  278.                else
  279.                {
  280.                    Color_p2_5x7 = false;
  281.                    pictureBox2.BackColor = Color.Lime;
  282.                }
  283.  
  284.                if (Color_p3_5x7 == false)
  285.                {
  286.                    Color_p3_5x7 = true;
  287.                    pictureBox3.BackColor = Color.Black;
  288.                }
  289.  
  290.                else
  291.                {
  292.                    Color_p3_5x7 = false;
  293.                    pictureBox3.BackColor = Color.Lime;
  294.                }
  295.  
  296.                if (Color_p4_5x7 == false)
  297.                {
  298.                    Color_p4_5x7 = true;
  299.                    pictureBox4.BackColor = Color.Black;
  300.                }
  301.  
  302.                else
  303.                {
  304.                    Color_p4_5x7 = false;
  305.                    pictureBox4.BackColor = Color.Lime;
  306.                }
  307.            }
  308.  
  309.            else
  310.            {
  311.                if (Color_p1_5x7 == false)
  312.                {
  313.                    Color_p1_5x7 = true;
  314.                    pictureBox1.BackColor = Color.White;
  315.                }
  316.  
  317.                else
  318.                {
  319.                    Color_p1_5x7 = false;
  320.                    pictureBox1.BackColor = Color.Blue;
  321.                }
  322.  
  323.                if (Color_p2_5x7 == false)
  324.                {
  325.                    Color_p2_5x7 = true;
  326.                    pictureBox2.BackColor = Color.White;
  327.                }
  328.  
  329.                else
  330.                {
  331.                    Color_p2_5x7 = false;
  332.                    pictureBox2.BackColor = Color.Blue;
  333.                }
  334.  
  335.                if (Color_p3_5x7 == false)
  336.                {
  337.                    Color_p3_5x7 = true;
  338.                    pictureBox3.BackColor = Color.White;
  339.                }
  340.  
  341.                else
  342.                {
  343.                    Color_p3_5x7 = false;
  344.                    pictureBox3.BackColor = Color.Blue;
  345.                }
  346.  
  347.                if (Color_p4_5x7 == false)
  348.                {
  349.                    Color_p4_5x7 = true;
  350.                    pictureBox4.BackColor = Color.White;
  351.                }
  352.  
  353.                else
  354.                {
  355.                    Color_p4_5x7 = false;
  356.                    pictureBox4.BackColor = Color.Blue;
  357.                }
  358.            }
  359.        }
  360.    }
  361. }
  362.  

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.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 28 Agosto 2014, 02:05 am
Buenas:

Ahora funciona tal como lo quiero.

¿Qué es lo que has hecho exactamente?

Muchísimas gracias.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 28 Agosto 2014, 05:39 am
Lo que te mencionaba sobre cambiar los colores en la asignación. Es decir cambiar la parte por ejemplo de:

Código
  1. if (Color_p1_5x7 == false)
  2.                {
  3.                    Color_p1_5x7 = true;
  4.                    pictureBox1.BackColor = Color.White;
  5.                }
  6.  
  7.                else
  8.                {
  9.                    Color_p1_5x7 = false;
  10.                    pictureBox1.BackColor = Color.Blue;
  11.                }

Por:

Código
  1. if (Color_p1_5x7 == false)
  2.                {
  3.                    Color_p1_5x7 = true;
  4.                    pictureBox1.BackColor = Color.Blue;
  5.                }
  6.  
  7.                else
  8.                {
  9.                    Color_p1_5x7 = false;
  10.                    pictureBox1.BackColor = Color.White;
  11.                }

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

Eso fue todo, que bueno que ya te funciona. Saludos :)


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 28 Agosto 2014, 19:44 pm
Si,a ntes if (Color_5x7 == true) estaba en false. Estaba probando tantas cosas que ni m di cuenta.


Título: Re: No me salen algunas cosas con C#
Publicado por: engel lex en 28 Agosto 2014, 19:52 pm
me meto solo para ayudar a reducir el codigo

Código
  1. if (Color_p1_5x7)
  2. {
  3.    pictureBox1.BackColor = Color.White;
  4. }
  5. else
  6. {
  7.    pictureBox1.BackColor = Color.Blue;
  8. }
  9. 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
  1. pictureBox1.BackColor = Color_p1_5x7 ?  Color.White : Color.Blue;
  2. 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


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 29 Agosto 2014, 05:41 am
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.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 9 Septiembre 2014, 02:02 am
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
  1. private void button_Rellenar_Click(object sender, EventArgs e)
  2.        {
  3.            if (Color_5x7 == true)
  4.            {
  5.                Rellenar_negro();
  6.            }
  7.  
  8.            else
  9.            {
  10.                Rellenar_blanco();
  11.            }
  12.        }
  13.  
  14.        private void button_Limpiar_Click(object sender, EventArgs e)
  15.        {
  16.            if (Color_5x7 == true)
  17.            {
  18.                Rellenar_verde();
  19.            }
  20.  
  21.            else
  22.            {
  23.                Rellenar_azul();
  24.            }
  25.        }
  26.  
  27.        public void Rellenar_blanco()
  28.        {
  29.            pictureBox1.BackColor = Color.White;
  30.            pictureBox2.BackColor = Color.White;
  31.            pictureBox3.BackColor = Color.White;
  32.            pictureBox4.BackColor = Color.White;
  33.        }
  34.  
  35.        public void Rellenar_azul()
  36.        {
  37.            pictureBox1.BackColor = Color.Blue;
  38.            pictureBox2.BackColor = Color.Blue;
  39.            pictureBox3.BackColor = Color.Blue;
  40.            pictureBox4.BackColor = Color.Blue;
  41.        }
  42.  
  43.        public void Rellenar_negro()
  44.        {
  45.            pictureBox1.BackColor = Color.Black;
  46.            pictureBox2.BackColor = Color.Black;
  47.            pictureBox3.BackColor = Color.Black;
  48.            pictureBox4.BackColor = Color.Black;
  49.        }
  50.  
  51.        public void Rellenar_verde()
  52.        {
  53.            pictureBox1.BackColor = Color.Lime;
  54.            pictureBox2.BackColor = Color.Lime;
  55.            pictureBox3.BackColor = Color.Lime;
  56.            pictureBox4.BackColor = Color.Lime;
  57.        }

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.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 9 Septiembre 2014, 06:17 am
Eso es porque sólo modificas el color del fondo pero no haces nada con las variables de estado.

Código
  1. bool Color_p1_5x7 = false;
  2.        bool Color_p2_5x7 = false;
  3.        bool Color_p3_5x7 = false;
  4.        bool Color_p4_5x7 = false;

Esas variables también debes modificarlas (ponerlas todas a true o false según corresponda).


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 9 Septiembre 2014, 13:52 pm
Hola:

Lo hice así pero no me cuadra. ;)
Código
  1.        private void button_Rellenar_Click(object sender, EventArgs e)
  2.        {
  3.            if (Color_5x7 == true)
  4.            {
  5.                Rellenar_negro();
  6.            }
  7.  
  8.            else
  9.            {
  10.                Rellenar_blanco();
  11.            }
  12.        }
  13.  
  14.        private void button_Limpiar_Click(object sender, EventArgs e)
  15.        {
  16.            if (Color_5x7 == true)
  17.            {
  18.                Rellenar_verde();
  19.            }
  20.  
  21.            else
  22.            {
  23.                Rellenar_azul();
  24.            }
  25.        }
  26.  
  27.        public void Rellenar_blanco()
  28.        {
  29.            Color_p1_5x7 = false;
  30.            Color_p2_5x7 = false;
  31.            Color_p3_5x7 = false;
  32.            Color_p4_5x7 = false;
  33.            pictureBox1.BackColor = Color.White;
  34.            pictureBox2.BackColor = Color.White;
  35.            pictureBox3.BackColor = Color.White;
  36.            pictureBox4.BackColor = Color.White;
  37.        }
  38.  
  39.        public void Rellenar_azul()
  40.        {
  41.            Color_p1_5x7 = true;
  42.            Color_p2_5x7 = true;
  43.            Color_p3_5x7 = true;
  44.            Color_p4_5x7 = true;
  45.            pictureBox1.BackColor = Color.Blue;
  46.            pictureBox2.BackColor = Color.Blue;
  47.            pictureBox3.BackColor = Color.Blue;
  48.            pictureBox4.BackColor = Color.Blue;
  49.        }
  50.  
  51.        public void Rellenar_negro()
  52.        {
  53.            Color_p1_5x7 = false;
  54.            Color_p2_5x7 = false;
  55.            Color_p3_5x7 = false;
  56.            Color_p4_5x7 = false;
  57.            pictureBox1.BackColor = Color.Black;
  58.            pictureBox2.BackColor = Color.Black;
  59.            pictureBox3.BackColor = Color.Black;
  60.            pictureBox4.BackColor = Color.Black;
  61.        }
  62.  
  63.        public void Rellenar_verde()
  64.        {
  65.            Color_p1_5x7 = true;
  66.            Color_p2_5x7 = true;
  67.            Color_p3_5x7 = true;
  68.            Color_p4_5x7 = true;
  69.            pictureBox1.BackColor = Color.Lime;
  70.            pictureBox2.BackColor = Color.Lime;
  71.            pictureBox3.BackColor = Color.Lime;
  72.            pictureBox4.BackColor = Color.Lime;
  73.        }

Un saludo.


Título: Re: No me salen algunas cosas con C#
Publicado por: Meta en 9 Septiembre 2014, 23:20 pm
Ya lo hice funcionar, gracias.

Cambié los true por los false y al revés.


Título: Re: No me salen algunas cosas con C#
Publicado por: El Benjo en 10 Septiembre 2014, 05:50 am
Sí, exactamente así.