Inputbox en C# [ Recuerdos de VB ]

Iniciado por Emperorxdevil, 16 Julio 2007, 17:02 PM

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

Emperorxdevil

 Si has programado en VB, te acordarás del tipico Inputbox para pedir datos.
Pues bien, teniendo en cuenta que en C# no existe...
Por qué no implementarlo ?

Aqui les dejo el code de la clase Inputbox.
Es estática (no hace falta construir el objeto para usarla) y devuelve datos tipo    string.

Su sintaxis es: Inputbox.Show(Titulo_Ventana,Titulo_Pregunta,Posicion)

Se usa asi:



string n;
n=Inputbox.Show("Inputbox en C#", "Cual es su nombre ? ", FormStartPosition.CenterScreen);
Messagebox.Show(n);



Que lo disfruten !




public static class Inputbox
        {

         // Conserva esta cabecera
        //  Emperorxdevil 2007

            static Form f;
            static Label l;
            static TextBox t; // Elementos necesarios
            static Button b1;
            static Button b2;
            static string Valor;

            /// <summary>
            /// Objeto Estático que muestra un pequeño diálogo para introducir datos
            /// </summary>
            /// <param name="title">Título del diálogo</param>
            /// <param name="prompt">Texto de información</param>
            /// <param name="posicion">Posición de inicio</param>
            /// <returns>Devuelve la escrito en la caja de texto como string</returns>
            public static string Show(string title, string prompt, FormStartPosition posicion)
            {

                f = new Form();
                f.Text = title;
                f.ShowIcon = false;
                f.Icon = null;
                f.KeyPreview=true;
                f.ShowInTaskbar = false;
                f.MaximizeBox = false;
                f.MinimizeBox = false;
                f.Width = 200;
                f.FormBorderStyle = FormBorderStyle.FixedDialog;
                f.Height = 120;
                f.StartPosition = posicion;
                f.KeyPress += new KeyPressEventHandler(f_KeyPress);
               
                l = new Label();
                l.AutoSize = true;
                l.Text = prompt;


                t = new TextBox();
                t.Width = 182;
                t.Top = 40;

                b1 = new Button();
                b1.Text = "Aceptar";
                b1.Click += new EventHandler(b1_Click);


                b2 = new Button();
                b2.Text = "Cancelar";
                b2.Click += new EventHandler(b2_Click);

                f.Controls.Add(l);
                f.Controls.Add(t);
                f.Controls.Add(b1);
                f.Controls.Add(b2);

                l.Top = 10;
                t.Left = 5;
                t.Top = 30;

                b1.Left = 5;
                b1.Top = 60;

                b2.Left = 112;
                b2.Top = 60;

                f.ShowDialog();
                return (Valor);
            }

            static void f_KeyPress(object sender, KeyPressEventArgs e)
            {
                switch(Convert.ToChar(e.KeyChar)) {

                    case ('\r'):
                            Acepta();
                    break;;

                    case (''):
                            Cancela();
                    break;;
                }
            }
            static void b2_Click(object sender, EventArgs e)
            {
                Cancela();
            }
            static void b1_Click(object sender, EventArgs e)
            {
                Acepta();
            }
            private static string Val
            {

                get { return (Valor); }
                set { Valor = value; }
            }
            private static void Acepta() {
                Val = t.Text;
                f.Dispose();
            }
            private static void Cancela() {
                Val=null;
                f.Dispose();
            }


        }


Salu2

Meta

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

chimeco795

Me quito el sombrero ante ti, alguna ves pense que se podia hacer esto pero lo deje por la paz, ahora me encuentro con un master que lo hizo. Gracias (Por cierto me registre solo para agradecerte)

seba123neo

acabas de revivir un post de casi 3 años...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

raul338

#4
wow...alguien ya lo habia hecho. De todas formas hice el mio xD XD, el mio es mas actual (?

Bot para fotolog + InputBox en C#

[D4N93R]

Jaja! esta muy bien!, pero, no se, yo creo que es un poco arcaico utilizarlo.. :P

De todos modos! felicidades, esta bastante bien programado.

9/10: 0.5 por usar el español, y 0.5 por no utilizar un prefijo para los miembros de la clase.

Saludos!