none
Diseño de una inerfaz RRS feed

  • Pregunta

  • Hola:

    Estoy usando Visual C# 2013. Quiero diseñar el mejor modelo como indica la imagen de abajo.

    Son 5 x 8 cuadros. Mi intención es poner, botones dentro de un PictubeBox o algo similar. Cuando seleccione el mejor diseño, ya empezaré a programarlo.

    ¿En qué consiste?

    La base es verde y cada cuadrado se le puede cambiar de estado, si pincho una vez se pone negro, si pincho otra vez se pone verde.

    El estado normal es verde, también significa apagado, desactivado o un "0".

    En cuanto al negro, significa encendido, activado o un "1".

    En este enlace de abajo, es funcional y lo quiero hacer en vía Windows Form.

    http://www.quinapalus.com/hd44780udg.html

    Un saludo.


    http://electronica-pic.blogspot.com

    lunes, 18 de agosto de 2014 18:13

Respuestas

  • >>busco la manera de hacer los gráficos de una manera cómoda que se puede hacer clic con el ratón de una manera cómoda. Elegir un componente adecuado para hacer los gráficos

    pero entonces deberias formular mejor el planteo de la pregunta, porque alli estas mostrando la imagen de un tetris

    no habia visto el link, o sea se trata de un display digital

    >>Mi intención es poner, botones dentro de un PictubeBox o algo similar.

    para que botones, si el propio picturebox tiene el evento click que podrias usar directamente

    ante un click directo en el picturebox cambias de verde a negro

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Metaconta lunes, 18 de agosto de 2014 22:32
    lunes, 18 de agosto de 2014 21:01
  • Me auto respondo.

            private void pictureBox1_Click(object sender, EventArgs e)
            {
                if (pictureBox1.BackColor == Color.Black)
                {
                    pictureBox1.BackColor = Color.Lime;
                }
    
                else
                {
                    pictureBox1.BackColor = Color.Black;
                }
            }
    Seguimos por aquí.


    http://electronica-pic.blogspot.com


    • Marcado como respuesta Metaconta miércoles, 20 de agosto de 2014 5:34
    • Editado Metaconta miércoles, 20 de agosto de 2014 6:21
    miércoles, 20 de agosto de 2014 5:34

Todas las respuestas

  • hola

    quieres programar un tetris?

    no intentaste buscar

    Tetris en C# Parte 1

    Tetris en C# Parte 2 1/2

    alguna implementacion que sirva de base

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 18 de agosto de 2014 19:13
  • Buenas:

    No busco tetris, busco la manera de hacer los gráficos de una manera cómoda que se puede hacer clic con el ratón de una manera cómoda. Elegir un componente adecuado para hacer los gráficos, no es necesario usar GDI+.

    Por ejemplo, en la imagen de arriba que me di por dibujar cosas de tetris, me tiene que dar en tiempo real estos resultados.

    In decimal:  0,12,6,0,16,16,19,19
    In hex:  0x0,0xc,0x6,0x0,0x10,0x10,0x13,0x13
    In binary:  %0,%1100,%110,%0,%10000,%10000,%10011,%10011

    Cada bloque que presenta es un caracter de un LCD como muestra abajo.

    Este enlace es un generador de carácteres o símbolos que quieres crear.

    http://www.quinapalus.com/hd44780udg.html


    Lo que hace de dibujar en el dibujo, es crear automáticamente los resultados en valores hexadeciales o binarios como puse arriba.

    Saludo.

    • Editado Metaconta lunes, 18 de agosto de 2014 20:34
    lunes, 18 de agosto de 2014 20:27
  • >>busco la manera de hacer los gráficos de una manera cómoda que se puede hacer clic con el ratón de una manera cómoda. Elegir un componente adecuado para hacer los gráficos

    pero entonces deberias formular mejor el planteo de la pregunta, porque alli estas mostrando la imagen de un tetris

    no habia visto el link, o sea se trata de un display digital

    >>Mi intención es poner, botones dentro de un PictubeBox o algo similar.

    para que botones, si el propio picturebox tiene el evento click que podrias usar directamente

    ante un click directo en el picturebox cambias de verde a negro

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Metaconta lunes, 18 de agosto de 2014 22:32
    lunes, 18 de agosto de 2014 21:01
  • Hola:

    Disculpen por la forma de escribir.Vale, usar pictureBox para cambiar los colores. Ya me encargaré del resto y si tengo duda pregunto.

    Gracias por todo.


    http://electronica-pic.blogspot.com

    lunes, 18 de agosto de 2014 22:32
  • Hola:

    En los botones Limpiar y Rellenar me funciona bien.

    En cuanto a seleccionar un pixel, en este caso hice un código if-else, puse true para que me lo ejecute pero no hace nada.

    ¿Cómo hago para que me funcione?

    Es decir, está verde un pixel que en realidad es un pictureBox, si hago clic con el ratón se pone negro, si vuelvo a pinchar se pone verde con el if-else.

    El pequeño código del if-else es este:

            private void pictureBox1_Click(object sender, EventArgs e)
            {
                if (true)
                {
                    pictureBox1.BackColor = Color.Lime;
                }
    
                else
                {
                    pictureBox1.BackColor = Color.Black;
                }
            }

    El código que he hecho hasta ahora este.

    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;
    
    namespace LCD_HD44780
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void pictureBox1_Click(object sender, EventArgs e)
            {
                if (true)
                {
                    pictureBox1.BackColor = Color.Lime;
                }
    
                else
                {
                    pictureBox1.BackColor = Color.Black;
                }
            }
    
            private void button_5x8_Rellenar_Click(object sender, EventArgs e)
            {
                pictureBox1.BackColor = Color.Black;
                pictureBox2.BackColor = Color.Black;
                pictureBox3.BackColor = Color.Black;
                pictureBox4.BackColor = Color.Black;
                pictureBox5.BackColor = Color.Black;
                pictureBox6.BackColor = Color.Black;
                pictureBox7.BackColor = Color.Black;
                pictureBox8.BackColor = Color.Black;
                pictureBox9.BackColor = Color.Black;
                pictureBox10.BackColor = Color.Black;
                pictureBox11.BackColor = Color.Black;
                pictureBox12.BackColor = Color.Black;
                pictureBox13.BackColor = Color.Black;
                pictureBox14.BackColor = Color.Black;
                pictureBox15.BackColor = Color.Black;
                pictureBox16.BackColor = Color.Black;
                pictureBox17.BackColor = Color.Black;
                pictureBox18.BackColor = Color.Black;
                pictureBox19.BackColor = Color.Black;
                pictureBox20.BackColor = Color.Black;
                pictureBox21.BackColor = Color.Black;
                pictureBox22.BackColor = Color.Black;
                pictureBox23.BackColor = Color.Black;
                pictureBox24.BackColor = Color.Black;
                pictureBox25.BackColor = Color.Black;
                pictureBox26.BackColor = Color.Black;
                pictureBox27.BackColor = Color.Black;
                pictureBox28.BackColor = Color.Black;
                pictureBox29.BackColor = Color.Black;
                pictureBox30.BackColor = Color.Black;
                pictureBox31.BackColor = Color.Black;
                pictureBox32.BackColor = Color.Black;
                pictureBox33.BackColor = Color.Black;
                pictureBox34.BackColor = Color.Black;
                pictureBox35.BackColor = Color.Black;
            }
    
            private void button_5x7_Limpiar_Click(object sender, EventArgs e)
            {
                pictureBox1.BackColor = Color.Lime;
                pictureBox2.BackColor = Color.Lime;
                pictureBox3.BackColor = Color.Lime;
                pictureBox4.BackColor = Color.Lime;
                pictureBox5.BackColor = Color.Lime;
                pictureBox6.BackColor = Color.Lime;
                pictureBox7.BackColor = Color.Lime;
                pictureBox8.BackColor = Color.Lime;
                pictureBox9.BackColor = Color.Lime;
                pictureBox10.BackColor = Color.Lime;
                pictureBox11.BackColor = Color.Lime;
                pictureBox12.BackColor = Color.Lime;
                pictureBox13.BackColor = Color.Lime;
                pictureBox14.BackColor = Color.Lime;
                pictureBox15.BackColor = Color.Lime;
                pictureBox16.BackColor = Color.Lime;
                pictureBox17.BackColor = Color.Lime;
                pictureBox18.BackColor = Color.Lime;
                pictureBox19.BackColor = Color.Lime;
                pictureBox20.BackColor = Color.Lime;
                pictureBox21.BackColor = Color.Lime;
                pictureBox22.BackColor = Color.Lime;
                pictureBox23.BackColor = Color.Lime;
                pictureBox24.BackColor = Color.Lime;
                pictureBox25.BackColor = Color.Lime;
                pictureBox26.BackColor = Color.Lime;
                pictureBox27.BackColor = Color.Lime;
                pictureBox28.BackColor = Color.Lime;
                pictureBox29.BackColor = Color.Lime;
                pictureBox30.BackColor = Color.Lime;
                pictureBox31.BackColor = Color.Lime;
                pictureBox32.BackColor = Color.Lime;
                pictureBox33.BackColor = Color.Lime;
                pictureBox34.BackColor = Color.Lime;
                pictureBox35.BackColor = Color.Lime;
            }
        }
    }
    

    A lo mejor se puede hacer lo mismo en menos código, por ahora voy poco a poco.

    Un saludo.


    http://electronica-pic.blogspot.com

    miércoles, 20 de agosto de 2014 2:10
  • Me auto respondo.

            private void pictureBox1_Click(object sender, EventArgs e)
            {
                if (pictureBox1.BackColor == Color.Black)
                {
                    pictureBox1.BackColor = Color.Lime;
                }
    
                else
                {
                    pictureBox1.BackColor = Color.Black;
                }
            }
    Seguimos por aquí.


    http://electronica-pic.blogspot.com


    • Marcado como respuesta Metaconta miércoles, 20 de agosto de 2014 5:34
    • Editado Metaconta miércoles, 20 de agosto de 2014 6:21
    miércoles, 20 de agosto de 2014 5:34