none
Menús con Windows Forms. RRS feed

  • Pregunta

  • Hola:

    Quiero hacer un menú y submenú indicado en el esquema de abajo. Es una plantilla simulando una consola de C#. Usa 4 label, como mucho es de 20 caracter máximo en cada label.

    Se mueve solo pulsando con el ratón los botones Arriba, Abajo, Izquierda, Derecha y Enter. También si es posible, manejar dichos botones con las flecas del teclado si es posible.

    Aquí abajo la apariencia del formulario.

    Aquí abajo el esquema general de como debe ser esos menú y submenús.


    Ver zoom.

    ¿Cómo se hace?

    Saludos.


    http://electronica-pic.blogspot.com

    sábado, 28 de marzo de 2020 21:06

Todas las respuestas

  • Hola

    Este problema lo hiciste para consola creo que es el mismo,

    imagino que usaras un listBox como la pantalla verde,

    y envez de mandr a Console.WriteLn(); lo mandarias a listBox.Add();

    el console.Clear() sera el listBox.Clear();

    con las flecha o botones moverias el index del listBox

    y lo demas sera exactamente igual;

    domingo, 29 de marzo de 2020 2:49
  • No usa listBox, usa por cada línea un label.

    http://electronica-pic.blogspot.com

    domingo, 29 de marzo de 2020 10:16
  • Dejo un vídeo para hacer una idea.

    Ver vídeo.

    Saludos.


    http://electronica-pic.blogspot.com

    domingo, 29 de marzo de 2020 16:16
  • Hola Metaconta

    Casi destruis el Sistema de Windows Forms! Tuve que realizar operaciones de carácter inter-galáctico, más que nada para que al cerrar el Form no se quede el Process atascado en cualquiera de los ciclos "infinitos", lo demás no fue TAN difícil ... ja ja ja ja!!!

    Yo partiría, en 2 o 3 archivos todo lo siguiente, pero vos ya me dijiste que preferías todo en uno ...

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    namespace WinFormsAppMenus
    {
        public partial class Form1 : Form
        {
            public Label[] labels = new Label[6];
            public Keys tecla;
            public static bool AnularTodosLosCiclos = false;
    
            public Form1()
            {
                InitializeComponent();
                for (int a = 0; a < labels.Length; a++) 
                    labels[a] = new Label();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                labels[0].Location = new Point(200, 40);
                labels[0].Text = "MENÚ PRINCIPAL";
                labels[0].AutoSize = true;
                labels[1].Location = new Point(200, 80);
                labels[1].Text = DateTime.Now.ToLongDateString();
                labels[1].AutoSize = true;
    
                Controls.AddRange(labels.ToArray());
    
                StartMenus();
            }
    
            private void StartMenus() 
            {
                Menu principal = new Menu(this, -1, 200, 40, "MENÚ PRINCIPAL", new string[] { DateTime.Now.ToLongDateString() });
                Menu opciones = new Menu(this, 0, 200, 40, "", new string[] { "Opción A", "Opción B", "Opción C", "Salir" });
                Menu opcionA = new Menu(this, 0, 200, 40, "Estás en Opción A.", new string[] { "Pulsa Enter para Salir" });
                Menu opcionB = new Menu(this, 0, 200, 40, "Estás en Opción B.", new string[] { "SubOpción B-1.", "SubOpción B-2.", "Salir." });
                Menu opcionC = new Menu(this, 0, 200, 40, "Estás en Opción C.", new string[] { "Color 1", "Color 2", "Opción C-1." });
                Menu opcionC1 = new Menu(this, 1, 200, 40, "Estás en Opción C-1.", new string[] { "SI", "NO" });
                Menu opcionB1 = new Menu(this, 1, 200, 40, "Estás en Opción B-1.", new string[] { "Pulsa Enter para volver atrás." });
                Menu opcionB2 = new Menu(this, 1, 200, 40, "Estás en Opción B-2.", new string[] { "Pulsa Enter para volver atrás." });
                Menu opcionSi = new Menu(this, 1, 200, 40, "Estás en Opción SI.", new string[] { "Pulsa Enter para volver atrás." });
    
                int opcion;
                int goBack = 0;
                this.Visible = true;
    
                while (true)
                {
                    this.BringToFront();
                    Application.DoEvents();                
                    opcion = principal.DoMenu();
                    if (Form1.AnularTodosLosCiclos == true)
                        break;
                    if (opcion == 0)
                    {
                        while (true)
                        {
                            this.BringToFront();
                            Application.DoEvents();
                            opcion = opciones.DoMenu();
                            if (Form1.AnularTodosLosCiclos == true)
                                break;
                            if (opcion == 0) 
                            {
                                while (true) 
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionA.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0 || opcion == -3) 
                                    break;
                                }
                            }                
                            else if (opcion == 1) 
                            {
                                while (true)
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionB.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0)
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionB1.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0 || opcion == -3)
                                                break;                                
                                        }
                                    }
                                    else if (opcion == 1) 
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionB2.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0 || opcion == -3)
                                            break;
                                        }
                                    }
                                    else if (opcion == 2 || opcion == -3) 
                                    {
                                        break;
                                    }
                                }
                            }
                            else if (opcion == 2)
                            {
                                while (true)
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionC.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0)
                                    {
                                        ;
                                    }
                                    else if (opcion == 1)
                                    {
                                        ;
                                    }
                                    else if (opcion == 2)
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionC1.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0)
                                            {
                                                while (true)
                                                {
                                                    this.BringToFront();
                                                    Application.DoEvents();
                                                    opcion = opcionSi.DoMenu();
                                                    if (opcion == 0)
                                                        break;
                                                }
                                            }
                                            else if (opcion == 1 || opcion == -3)
                                            {
                                                goBack = 2;
                                                break;
                                            }
                                        }
                                        if (goBack > 0) 
                                        {
                                            goBack--;
                                            break;
                                        }
                                    }
                                    else if (opcion == -3) 
                                    {
                                        break;
                                    }
                                }
                                if (goBack > 0) 
                                {
                                    goBack--;
                                    break;
                                }
                            }
                            else if (opcion == 3 || opcion == -3) 
                            {
                                break;
                            }
                        }
                    }               
                }
            }
            
            private void Form1_KeyUp(object sender, KeyEventArgs e)
            {
                tecla = e.KeyCode;            
            }
    
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Form1.AnularTodosLosCiclos = true;
            }       
        }
    
        class Menu 
        {
            private Form1 form;
            private int what;
            private string titulo;
            private string[] opciones;
            private int X, Y;
            private int Indice;
            private Label flecha;
            private Font fuente;
    
            public Menu(Form1 form, int what, int x, int y, string titulo, string[] opciones) 
            {
                this.form = form;
                this.what = what;
                this.X = x;
                this.Y = y;
                this.titulo = titulo;
                this.opciones = opciones;            
            }
    
            public int DoMenu() 
            {
                int a;
                fuente = new Font("Microsoft Sans Serif", 16);
    
                foreach (Label label in form.labels) 
                    label.Visible = false;
    
                form.labels[5].Font = fuente;
                form.labels[5].AutoSize = true;
                form.labels[5].Text = this.titulo;
                form.labels[5].Location = new Point(200, 10);
                form.labels[5].Visible = true;
    
                if (what == 0 || what == -1)
                {
                    for (a = 0; a < opciones.Length; a++)
                    {
                        form.labels[a].Visible = true;
                        form.labels[a].Location = new Point(X, Y + a * 40);
                        form.labels[a].AutoSize = true;
                        form.labels[a].Font = fuente;
                        form.labels[a].Text = opciones[a];
                    }
                }
                else if (what == 1) 
                {
                    for (a = 0; a < opciones.Length; a++)
                    {
                        form.labels[a].Visible = true;
                        form.labels[a].Location = new Point(X + a * 120, Y);
                        form.labels[a].AutoSize = true;
                        form.labels[a].Font = fuente;
                        form.labels[a].Text = opciones[a];
                    }
                }
    
                flecha = new Label();
                flecha.Font = fuente;
                flecha.Text = ">";
                form.Controls.Add(flecha);
                flecha.Visible = false;    
                if (what >= 0)
                {
                    flecha.Visible = true;
                }
    
                while (true)
                {
                    form.BringToFront();
                    Application.DoEvents();
    
                    if (Form1.AnularTodosLosCiclos == true) 
                        return -7;
    
                    if (((form.tecla == Keys.Up && what == 0) || (form.tecla == Keys.Left && what == 1)) && Indice > 0)
                    {
                        form.tecla = 0;
                        Indice--;
                    }
                    else if (((form.tecla == Keys.Down && what == 0) || (form.tecla == Keys.Right && what == 1)) && Indice < opciones.Length - 1)
                    {
                        Indice++;
                        form.tecla = 0;
                    }
                    else if (form.tecla == Keys.Escape)
                    {
                        form.tecla = 0;
                        flecha.Visible = false;
                        return -3;
                    }
                    else if (form.tecla == Keys.Return)
                    {
                        form.tecla = 0;
                        flecha.Visible = false;
                        return Indice;
                    }
    
                    if (what == 0) 
                        flecha.Location = new Point(X - 15, Y + Indice * 40);
                    else if (what == 1)
                        flecha.Location = new Point(X - 15 + Indice * 120, Y);
                }
            }
        }
    }
    

    Espero te sea útil.

    Saludos

    Pablo

    domingo, 29 de marzo de 2020 23:58
  • Santa María Madre de Dios.

    ¡Ni más códigos!

    Se ejecuta, funciona lo de las flechas al moverlas. No funciona nada al pulsar el botón, ni los labels da respuesta.

    Por si acaso, en el Form, he llamado cada botón así:

    button_Enter

    button_Izquierda

    button_Derecha

    button_Arriba

    y button_Abajo

    Las etiquetas, label1, label2, label3 y label4.

    A l mejor tiene que ver.

    Gran trabajo hicistes.

    Edito:

    Un forero de otro foro espondió esto:

    Estas mezclando la lógica con la capa de presentación, y es super importante que esto esté bien separado.

    Además, usás muchísimos números mágicos que entendés vos solo. O sea if (what == 1) no tengo idea qué es.
    Ponele nombres claros a las cosas, y reemplazá los números mágicos por enums o constantes.

    Igual ahí hay un problema más de fondo que es la separación. Apenas tenga un tiempo te armo un ejemplo.

    Otra cosa: Application.DoEvents() es un pecado mortal. Tenés que leer sobre threading y entender por qué se cuelga la aplicación cuando sacas eso. Luego sacarlo y usar los mecanismos que corresponden.


    http://electronica-pic.blogspot.com


    • Editado Metaconta lunes, 30 de marzo de 2020 15:14
    lunes, 30 de marzo de 2020 12:18
  • Hola Metaconta

    Lo hice igual que los Menús de la consola, o sea cuando pulsas las flechas, Enter, o Escape se hacen las cosas. No queda otra que usar Application.DoEvents() cuando estás dentro de un ciclo "infinito", que no es un Thread. Lo de what = 0 es para un Menú vertical y what = 1 es para un Menú horizontal. Podes reemplazarlo por un

    enum Layout { Vertical, Horizontal }

    Si o si, queres que funcione haciendo click en los botones? Ni los puse yo los botones en el Form. Pero lo hago si queres.

    Te funcionó bien?

    Saludos

    lunes, 30 de marzo de 2020 19:00
  • Quiero que funcione tanto con click de botones también.

    Gracias.


    http://electronica-pic.blogspot.com

    lunes, 30 de marzo de 2020 19:26
  • Bueno, sale ... con botones y con teclas ... los botones se llaman button_Enter, button_Escape, button_Izquierda, button_Derecha, button_Arriba, y button_Abajo

    Tenes que poner un Panel para los botones y meterlos todos en él, y uno arriba, para las Labels, que se crean desde una matriz que puse en el código, porque si no, no captura las teclas pulsadas o las usa para pasar el foco entre los botones ... lindo problemita tuve que combatir ... te paso después por las dudas el archivo .Designer.cs, así tenes el Form como lo tengo yo ...

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    namespace WinFormsAppMenus
    {
        public partial class Form1 : Form
        {
            public Label[] labels = new Label[6];
            public static Keys tecla;
            public static bool AnularTodosLosCiclos = false;
            public static bool keyEnter, keyEscape, keyUpArrow, keyDownArrow, keyRightArrow, keyLeftArrow;
    
            public Form1()
            {
                InitializeComponent();
                for (int a = 0; a < labels.Length; a++) 
                    labels[a] = new Label();
                panel2.Focus();
                button_Enter.PerformClick();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                labels[0].Location = new Point(200, 40);
                labels[0].Text = "MENÚ PRINCIPAL";
                labels[0].AutoSize = true;
                labels[1].Location = new Point(200, 80);
                labels[1].Text = DateTime.Now.ToLongDateString();
                labels[1].AutoSize = true;
    
                panel2.Controls.AddRange(labels);
                panel2.Focus();
    
                StartMenus();
            }
    
            private void StartMenus() 
            {
                Menu principal = new Menu(this, -1, 200, 40, "MENÚ PRINCIPAL", new string[] { DateTime.Now.ToLongDateString() });
                Menu opciones = new Menu(this, 0, 200, 40, "", new string[] { "Opción A", "Opción B", "Opción C", "Salir" });
                Menu opcionA = new Menu(this, 0, 200, 40, "Estás en Opción A.", new string[] { "Pulsa Enter para Salir" });
                Menu opcionB = new Menu(this, 0, 200, 40, "Estás en Opción B.", new string[] { "SubOpción B-1.", "SubOpción B-2.", "Salir." });
                Menu opcionC = new Menu(this, 0, 200, 40, "Estás en Opción C.", new string[] { "Color 1", "Color 2", "Opción C-1." });
                Menu opcionC1 = new Menu(this, 1, 200, 40, "Estás en Opción C-1.", new string[] { "SI", "NO" });
                Menu opcionB1 = new Menu(this, 1, 200, 40, "Estás en Opción B-1.", new string[] { "Pulsa Enter para volver atrás." });
                Menu opcionB2 = new Menu(this, 1, 200, 40, "Estás en Opción B-2.", new string[] { "Pulsa Enter para volver atrás." });
                Menu opcionSi = new Menu(this, 1, 200, 40, "Estás en Opción SI.", new string[] { "Pulsa Enter para volver atrás." });
    
                int opcion;
                int goBack = 0;
                this.Visible = true;
    
                while (true)
                {
                    this.BringToFront();
                    Application.DoEvents();                
                    opcion = principal.DoMenu();
                    if (Form1.AnularTodosLosCiclos == true)
                        break;
                    if (opcion == 0)
                    {
                        while (true)
                        {
                            this.BringToFront();
                            Application.DoEvents();
                            opcion = opciones.DoMenu();
                            if (Form1.AnularTodosLosCiclos == true)
                                break;
                            if (opcion == 0) 
                            {
                                while (true) 
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionA.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0 || opcion == -3) 
                                    break;
                                }
                            }                
                            else if (opcion == 1) 
                            {
                                while (true)
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionB.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0)
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionB1.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0 || opcion == -3)
                                                break;                                
                                        }
                                    }
                                    else if (opcion == 1) 
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionB2.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0 || opcion == -3)
                                            break;
                                        }
                                    }
                                    else if (opcion == 2 || opcion == -3) 
                                    {
                                        break;
                                    }
                                }
                            }
                            else if (opcion == 2)
                            {
                                while (true)
                                {
                                    this.BringToFront();
                                    Application.DoEvents();
                                    opcion = opcionC.DoMenu();
                                    if (Form1.AnularTodosLosCiclos == true)
                                        break;
                                    if (opcion == 0)
                                    {
                                        ;
                                    }
                                    else if (opcion == 1)
                                    {
                                        ;
                                    }
                                    else if (opcion == 2)
                                    {
                                        while (true)
                                        {
                                            this.BringToFront();
                                            Application.DoEvents();
                                            opcion = opcionC1.DoMenu();
                                            if (Form1.AnularTodosLosCiclos == true)
                                                break;
                                            if (opcion == 0)
                                            {
                                                while (true)
                                                {
                                                    this.BringToFront();
                                                    Application.DoEvents();
                                                    opcion = opcionSi.DoMenu();
                                                    if (opcion == 0)
                                                        break;
                                                }
                                            }
                                            else if (opcion == 1 || opcion == -3)
                                            {
                                                goBack = 2;
                                                break;
                                            }
                                        }
                                        if (goBack > 0) 
                                        {
                                            goBack--;
                                            break;
                                        }
                                    }
                                    else if (opcion == -3) 
                                    {
                                        break;
                                    }
                                }
                                if (goBack > 0) 
                                {
                                    goBack--;
                                    break;
                                }
                            }
                            else if (opcion == 3 || opcion == -3) 
                            {
                                break;
                            }
                        }
                    }               
                }
            }
    
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Form1.AnularTodosLosCiclos = true;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                keyEnter = true;
                panel2.Focus();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                keyEscape = true;
                panel2.Focus();
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                keyUpArrow = true;
                panel2.Focus();
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                keyDownArrow = true;
                panel2.Focus();
            }
    
            private void button6_Click(object sender, EventArgs e)
            {
                keyRightArrow = true;
                panel2.Focus();
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                keyLeftArrow = true;
                panel2.Focus();
            }
    
            private void panel2_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
            {
                tecla = e.KeyCode;
            }
    
            private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                tecla = e.KeyCode;
            }       
        }
    
        class Menu 
        {
            private Form1 form;
            private int what;
            private string titulo;
            private string[] opciones;
            private int X, Y;
            private int Indice;
            private Label flecha;
            private Font fuente;
    
            public Menu(Form1 form, int what, int x, int y, string titulo, string[] opciones) 
            {
                this.form = form;
                this.what = what;
                this.X = x;
                this.Y = y;
                this.titulo = titulo;
                this.opciones = opciones;            
            }
    
            public int DoMenu() 
            {
                int a;
                fuente = new Font("Microsoft Sans Serif", 16);
    
                foreach (Label label in form.labels) 
                    label.Visible = false;
    
                form.labels[5].Font = fuente;
                form.labels[5].AutoSize = true;
                form.labels[5].Text = this.titulo;
                form.labels[5].Location = new Point(200, 10);
                form.labels[5].Visible = true;
    
                if (what == 0 || what == -1)
                {
                    for (a = 0; a < opciones.Length; a++)
                    {
                        form.labels[a].Visible = true;
                        form.labels[a].Location = new Point(X, Y + a * 40);
                        form.labels[a].AutoSize = true;
                        form.labels[a].Font = fuente;
                        form.labels[a].Text = opciones[a];
                    }
                }
                else if (what == 1) 
                {
                    for (a = 0; a < opciones.Length; a++)
                    {
                        form.labels[a].Visible = true;
                        form.labels[a].Location = new Point(X + a * 120, Y);
                        form.labels[a].AutoSize = true;
                        form.labels[a].Font = fuente;
                        form.labels[a].Text = opciones[a];
                    }
                }
    
                flecha = new Label();
                flecha.Font = fuente;
                flecha.Text = ">";
                form.panel2.Controls.Add(flecha);
                flecha.Visible = false;    
                if (what >= 0)
                {
                    flecha.Visible = true;
                }
    
                while (true)
                {
                    form.BringToFront();
                    Application.DoEvents();
    
                    if (Form1.AnularTodosLosCiclos == true) 
                        return -7;
    
                    if (((what == 0 && (Form1.tecla == Keys.Up || Form1.keyUpArrow == true)) 
                        || (what == 1 && (Form1.tecla == Keys.Left || Form1.keyLeftArrow == true))) && Indice > 0)
                    {
                        Form1.tecla = 0;
                        Form1.keyUpArrow = Form1.keyLeftArrow = false;
                        Indice--;
                    }
                    else if (((what == 0 && (Form1.tecla == Keys.Down || Form1.keyDownArrow == true)) 
                        || (what == 1 && (Form1.tecla == Keys.Right || Form1.keyRightArrow == true))) && Indice < opciones.Length - 1)
                    {
                        Indice++;
                        Form1.keyDownArrow = Form1.keyRightArrow = false;
                        Form1.tecla = 0;
                    }
                    else if (Form1.tecla == Keys.Escape || Form1.keyEscape == true)
                    {
                        Form1.tecla = 0;
                        Form1.keyEscape = false;
                        flecha.Visible = false;
                        return -3;
                    }
                    else if (Form1.tecla == Keys.Return || Form1.keyEnter == true)
                    {
                        Form1.tecla = 0;
                        Form1.keyEnter = false;
                        flecha.Visible = false;
                        return Indice;
                    }
                    Form1.keyEnter = Form1.keyEscape = Form1.keyLeftArrow = Form1.keyRightArrow = Form1.keyUpArrow = Form1.keyDownArrow = false;
    
                    if (what == 0) 
                        flecha.Location = new Point(X - 15, Y + Indice * 40);
                    else if (what == 1)
                        flecha.Location = new Point(X - 15 + Indice * 120, Y);
                }
            }
        }
    }
    

    y el Form1.Designer.cs

    namespace WinFormsAppMenus
    {
        partial class Form1
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Windows Form Designer generated code
    
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.button_Enter = new System.Windows.Forms.Button();
                this.button_Escape = new System.Windows.Forms.Button();
                this.button_Arriba = new System.Windows.Forms.Button();
                this.button_Abajo = new System.Windows.Forms.Button();
                this.button_Izquierda = new System.Windows.Forms.Button();
                this.button_Derecha = new System.Windows.Forms.Button();
                this.panel2 = new System.Windows.Forms.Panel();
                this.panel1 = new System.Windows.Forms.Panel();
                this.panel1.SuspendLayout();
                this.SuspendLayout();
                // 
                // button_Enter
                // 
                this.button_Enter.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Enter.Location = new System.Drawing.Point(23, 29);
                this.button_Enter.Name = "button_Enter";
                this.button_Enter.Size = new System.Drawing.Size(70, 70);
                this.button_Enter.TabIndex = 20;
                this.button_Enter.TabStop = false;
                this.button_Enter.Text = "Enter";
                this.button_Enter.UseVisualStyleBackColor = true;
                this.button_Enter.Click += new System.EventHandler(this.button1_Click);
                // 
                // button_Escape
                // 
                this.button_Escape.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Escape.Location = new System.Drawing.Point(23, 126);
                this.button_Escape.Name = "button_Escape";
                this.button_Escape.Size = new System.Drawing.Size(70, 70);
                this.button_Escape.TabIndex = 20;
                this.button_Escape.TabStop = false;
                this.button_Escape.Text = "Escape";
                this.button_Escape.UseVisualStyleBackColor = true;
                this.button_Escape.Click += new System.EventHandler(this.button2_Click);
                // 
                // button_Arriba
                // 
                this.button_Arriba.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Arriba.Location = new System.Drawing.Point(211, 29);
                this.button_Arriba.Name = "button_Arriba";
                this.button_Arriba.Size = new System.Drawing.Size(70, 70);
                this.button_Arriba.TabIndex = 20;
                this.button_Arriba.TabStop = false;
                this.button_Arriba.Text = "Arriba";
                this.button_Arriba.UseVisualStyleBackColor = true;
                this.button_Arriba.Click += new System.EventHandler(this.button3_Click);
                // 
                // button_Abajo
                // 
                this.button_Abajo.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Abajo.Location = new System.Drawing.Point(211, 126);
                this.button_Abajo.Name = "button_Abajo";
                this.button_Abajo.Size = new System.Drawing.Size(70, 70);
                this.button_Abajo.TabIndex = 20;
                this.button_Abajo.TabStop = false;
                this.button_Abajo.Text = "Abajo";
                this.button_Abajo.UseVisualStyleBackColor = true;
                this.button_Abajo.Click += new System.EventHandler(this.button4_Click);
                // 
                // button_Izquierda
                // 
                this.button_Izquierda.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Izquierda.Location = new System.Drawing.Point(125, 80);
                this.button_Izquierda.Name = "button_Izquierda";
                this.button_Izquierda.Size = new System.Drawing.Size(70, 70);
                this.button_Izquierda.TabIndex = 20;
                this.button_Izquierda.TabStop = false;
                this.button_Izquierda.Text = "Izqda.";
                this.button_Izquierda.UseVisualStyleBackColor = true;
                this.button_Izquierda.Click += new System.EventHandler(this.button5_Click);
                // 
                // button_Derecha
                // 
                this.button_Derecha.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                this.button_Derecha.Location = new System.Drawing.Point(297, 80);
                this.button_Derecha.Name = "button_Derecha";
                this.button_Derecha.Size = new System.Drawing.Size(70, 70);
                this.button_Derecha.TabIndex = 20;
                this.button_Derecha.TabStop = false;
                this.button_Derecha.Text = "Derecha";
                this.button_Derecha.UseVisualStyleBackColor = true;
                this.button_Derecha.Click += new System.EventHandler(this.button6_Click);
                // 
                // panel2
                // 
                this.panel2.Location = new System.Drawing.Point(51, 1);
                this.panel2.Name = "panel2";
                this.panel2.Size = new System.Drawing.Size(391, 206);
                this.panel2.TabIndex = 7;
                this.panel2.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.panel2_PreviewKeyDown);
                // 
                // panel1
                // 
                this.panel1.Controls.Add(this.button_Enter);
                this.panel1.Controls.Add(this.button_Izquierda);
                this.panel1.Controls.Add(this.button_Derecha);
                this.panel1.Controls.Add(this.button_Arriba);
                this.panel1.Controls.Add(this.button_Abajo);
                this.panel1.Controls.Add(this.button_Escape);
                this.panel1.Location = new System.Drawing.Point(51, 226);
                this.panel1.Name = "panel1";
                this.panel1.Size = new System.Drawing.Size(391, 231);
                this.panel1.TabIndex = 21;
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(491, 497);
                this.Controls.Add(this.panel1);
                this.Controls.Add(this.panel2);
                this.MaximizeBox = false;
                this.MinimizeBox = false;
                this.Name = "Form1";
                this.Text = "Form1";
                this.Load += new System.EventHandler(this.Form1_Load);
                this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
                this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
                this.panel1.ResumeLayout(false);
                this.ResumeLayout(false);
    
            }
    
            #endregion
    
            private System.Windows.Forms.Button button_Enter;
            private System.Windows.Forms.Button button_Escape;
            private System.Windows.Forms.Button button_Arriba;
            private System.Windows.Forms.Button button_Abajo;
            private System.Windows.Forms.Button button_Izquierda;
            private System.Windows.Forms.Button button_Derecha;
            public System.Windows.Forms.Panel panel2;
            private System.Windows.Forms.Panel panel1;
        }
    }
    
    

    Ojalá te sea útil.

    Saludos

    lunes, 30 de marzo de 2020 22:23
  • Hola Metaconta

    Tenes esto desde hace una semana casi ... te aviso por las dudas que no lo hayas visto o por si creías que no te había respondido ... que si llega a pasar, que formulas alguna pregunta de las que contesto yo y ves que no te contesto, insistí, no te voy a dejar de responder ... de casualidad vi esta pregunta hace una semana porque el SubForo que más veo es el de "Desarrollo - Lenguaje C#", y esta pregunta está en "Desarrollo - Windows Forms" ... y aclaro por las dudas que si algún otro Miembro del Foro también quiere responder las preguntas que hagas vos u otros Miembros que impliquen mucha lógica racional y/o algoritmación sofisticada, no me voy a ofender en absoluto sino que me sentiría acompañado

    Saludos

    Pablo


    domingo, 5 de abril de 2020 22:38