Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Emperorxdevil en 16 Julio 2007, 17:02 pm



Título: Inputbox en C# [ Recuerdos de VB ]
Publicado por: Emperorxdevil en 16 Julio 2007, 17:02 pm
 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:

Código:

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


Que lo disfruten !

Código:


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


Título: Re: Inputbox en C# [ Recuerdos de VB ]
Publicado por: Meta en 21 Julio 2007, 12:33 pm
Esta bien.


Título: Re: Inputbox en C# [ Recuerdos de VB ]
Publicado por: chimeco795 en 17 Marzo 2010, 18:14 pm
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)


Título: Re: Inputbox en C# [ Recuerdos de VB ]
Publicado por: seba123neo en 17 Marzo 2010, 18:17 pm
acabas de revivir un post de casi 3 años...


Título: Re: Inputbox en C# [ Recuerdos de VB ]
Publicado por: raul338 en 17 Marzo 2010, 18:20 pm
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# (http://foro.elhacker.net/net/sourcec_bot_flogger_inputbox_para_c-t278127.0.html)


Título: Re: Inputbox en C# [ Recuerdos de VB ]
Publicado por: [D4N93R] en 18 Marzo 2010, 01:34 am
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!