Menu para consola en C#

Iniciado por isseu, 1 Julio 2009, 00:42 AM

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

isseu

Echo en Mono, por lo que tambien funciona para este, util para hacer algo sencillo lo de la consola, y puede mejorarse mucho

Código (csharp) [Seleccionar]

using System;
class Menu

{

static void Main()
{
int opcion=1;
Console.Clear();
Console.SetCursorPosition(20,1);
System.Console.WriteLine("Opciones");

Console.SetCursorPosition(16, 3);
System.Console.WriteLine("[ ]Opcion 1");
Console.SetCursorPosition(16, 4);
System.Console.WriteLine("[ ]Opcion 2");
Console.SetCursorPosition(16, 5);
System.Console.WriteLine("[ ]Opcion 3");
armar(opcion);
while(true){

if(Console.KeyAvailable){
ConsoleKeyInfo keyInfo = Console.ReadKey(true);
if (keyInfo.Key==ConsoleKey.DownArrow){
borrar(opcion);
opcion=sumarrestar(opcion,true);
           armar(opcion);
}

if (keyInfo.Key==ConsoleKey.UpArrow){
borrar(opcion);
opcion=sumarrestar(opcion,false);
           armar(opcion);
}
if (keyInfo.Key==ConsoleKey.Enter){
//Codigo a ejecutar al hacer enter en algun item del menu
Console.Beep();
//Fin del codigo
}


}
}


}
static void armar(int opcion){
if(opcion==1){
Console.SetCursorPosition(17, 3);
System.Console.WriteLine("+");
}
if(opcion==2){
Console.SetCursorPosition(17, 4);
System.Console.WriteLine("+");
}
if(opcion==3){
Console.SetCursorPosition(17, 5);
System.Console.WriteLine("+");
}
}

static void borrar(int opcion){
if(opcion==1){
Console.SetCursorPosition(17, 3);
System.Console.WriteLine(" ");
}
if(opcion==2){
Console.SetCursorPosition(17, 4);
System.Console.WriteLine(" ");
}
if(opcion==3){
Console.SetCursorPosition(17, 5);
System.Console.WriteLine(" ");
}
}




static int sumarrestar(int asumar,bool sumaoresta){
if(sumaoresta==true){
       if(asumar<3){
asumar=asumar+1;
}else{
asumar=1;
}
}
if(sumaoresta==false){
       if(asumar>1){
asumar=asumar-1;
}else{
asumar=3;
}
}
return asumar;
}
}