![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Guardar en memoria el *
Hola:
Aquí un programa hecho en consola, solo se usa las flechas del teclado y Enter. Este programa se basa en radioButton, que en este caso funciona si selecciona una opción y pulsas Enter, se pone un asterisco. Hasta ahí bien. Al pulsar Salir, luego Entrar, no se queda guardado el * en el último radioButton seleccionado. ¿Cómo se hace? El código que tengo por ahora lo dejo aquí. Código:
using System;
namespace radioButton_consola_02_cs
{
class Program
{
#region Variables.
private static readonly string[] TEXTO = new string[]
{
"( ) Opción A ",
"( ) Opción B ",
"( ) Opción C ",
" SALIR"
};
#endregion
static void Main(string[] args)
{
// Tamaño de la ventana.
Console.SetWindowSize(20, 5);
// Fondo verde.
Console.BackgroundColor = ConsoleColor.Blue;
// Letras negras.
Console.ForegroundColor = ConsoleColor.White;
// Oculto el cursor.
Console.CursorVisible = false;
// Almacena la tecla pulsada en la variable.
ConsoleKey teclaInicial;
do
{
// Limpiar pantalla.
Console.Clear();
// Posición del cursor del título del MENÚ PRINCIPAL.
Console.SetCursorPosition(0, 0);
// Título.
Console.Write(" MENÚ PRINCIPAL ");
// Pocisión de la hora.
Console.SetCursorPosition(4, 2);
// Formato numérico dd/MM/yyyy.
Console.Write(DateTime.Now.ToString("ddd dd MMM"));
// Almacena en la variable una tecla pulsada.
teclaInicial = Console.ReadKey(true).Key;
// ¿Haz pulsado la tecla Enter?
if (teclaInicial == ConsoleKey.Enter)
{
// Sí. Se ejecuta esta función.
MenuPrincipal();
}
} while (teclaInicial != ConsoleKey.Escape);
#region Menú Principal.
void MenuPrincipal()
{
bool salir = false;
// En itemSelecionado:
// -1 = Sin seleccionar con * ninguna opción.
// 0 = Seleccionar con * la Opción A.
// 1 = Seleccionar con * la Opción B.
// 2 = Seleccionar con * la opción C.
int itemSeleccionado = 0;
int itemSeñalado = 0;
// Capturar tecla para luego validar.
ConsoleKey tecla;
do
{
//******************************************************************
// Dibujo el menú principal.
// Rellenar fondo verde.
//Console.BackgroundColor = ConsoleColor.Green;
// Letras negras.
//Console.ForegroundColor = ConsoleColor.Black;
// Limpiar pantalla.
Console.Clear();
for (int k = 0; k < TEXTO.Length; k++)
{
Console.SetCursorPosition(0, k);
Console.Write(itemSeñalado == k ? "> " : " ");
Console.Write(TEXTO[k]);
Console.SetCursorPosition(3, k);
Console.Write(itemSeleccionado == k ? "*" : " ");
}
// Fin de pintar el menú principal.
//******************************************************************
// Leer tecla ingresada por el usuario.
tecla = Console.ReadKey(true).Key;
switch (tecla)
{
case ConsoleKey.Enter:
itemSeleccionado = itemSeñalado;
salir = (itemSeleccionado == TEXTO.Length - 1);
break;
case ConsoleKey.DownArrow:
if (++itemSeñalado >= TEXTO.Length)
{
itemSeñalado = 0;
}
break;
case ConsoleKey.UpArrow:
if (--itemSeñalado < 0)
{
itemSeñalado = TEXTO.Length - 1;
}
break;
}
// Uso la tecla escape como salida.
} while (!salir);
}
#endregion
}
}
}
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Guardar y Leer fotos directamente a una base de datos sin antes guardar como archivo | rmeckbell | Desarrollo en Delphi para Android | 6 | 26-06-2017 18:24:20 |
| [RESUELTO] Guardar estructura de memoria (clases) a disco | Neftali [Germán.Estévez] | OOP | 27 | 09-03-2013 20:09:12 |
| DBGrid: Guardar y No guardar + Validar | juliannemiro | Varios | 2 | 06-01-2012 06:49:19 |
| Guardar cambios y no guardar ayuda!! | THACKER | Varios | 1 | 21-07-2008 17:49:52 |
|