C# Menü Oluşturmak Concole Application

C# Menü Oluşturmak Concole Application

C# console application üzerinde seçmeli menü oluşturmanız gerekebilir. Bu durumda kullanabileceğiniz örnek uygulamamızı inceleyebilirsiniz. Ekran görüntüsü aşağıdaki şekilde olacaktır:

C# console application ile menü oluşturmak
C# ile oluşturduğumuz menünün ekran görüntüsü

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

class Menu
{
static Int16 menusayisi = 5;
static string title = Teknoforum;
static string[] menulistesi = new string[] { 0-Secim, 1-Secim, 2-Secim, 3-Secim, 4-Secim };
static string aciklama = Çıkış: ESC Seçim: Up/Down sayılar;
static string coder = Barbaros Kuşçular;
static string web = www.teknoforum.org;

static void Main()
{
Int16 secim = 0;
Int16 secimnumara = 0;
Int16 secimnumaraeski;
while (secim != Convert.ToChar(ConsoleKey.Escape))
{
menu(secimnumara);
secimnumaraeski = secimnumara;
secim = Convert.ToInt16(Console.ReadKey().Key);
secimnumara = secimyap(secim, secimnumara, menusayisi);
if (secimnumara == -1)
{
secimnumara = 0;
secimyapildi(secimnumaraeski);
}
}
}
static Int16 secimyap(Int16 secim, Int16 secimnumara, Int16 secimsayisi)
{
if (secim == Convert.ToChar(ConsoleKey.DownArrow))
if (secimnumara < secimsayisi - 1)
secimnumara += 1;
if (secim == Convert.ToChar(ConsoleKey.UpArrow))
if (secimnumara > 0)
secimnumara -= 1;
for (Int16 i = 48; i < 48 + secimsayisi; i++)
if (secim == i secim == Convert.ToChar(i + 48))
secimnumara = Convert.ToInt16(i - 48);
if (secim == Convert.ToChar(ConsoleKey.Enter))
secimnumara = -1;
return secimnumara;
}
static void menu(Int16 secim)
{
cerceve(menusayisi);
for (Int16 i = 0; i < menusayisi; i++)
{
secimrengiver(secim, i);
System.Console.WriteLine(menulistesi[i]);
System.Console.SetCursorPosition(2, i + 2);
System.Console.BackgroundColor = System.ConsoleColor.Black;
}
}
static void cerceve(Int16 cerceveyukseklik)
{
Console.Clear();
System.Console.WriteLine(╔═══════════════════ + title + ═══════════════════╗;
for (int i = 0; i <= cerceveyukseklik; i++)
System.Console.WriteLine(║ ║;
System.Console.WriteLine(╚══════════════════════════════════════════════════╝;
System.Console.WriteLine(aciklama);
System.Console.WriteLine(\n + coder);
System.Console.WriteLine(web);
System.Console.SetCursorPosition(2, 1);
}

static void secimrengiver(int secim, Int16 sira)
{
if (secim == sira)
System.Console.BackgroundColor = System.ConsoleColor.Red;
else
System.Console.BackgroundColor = System.ConsoleColor.Black;
}
static void secimyapildi(Int16 secimnumara)
{
cerceve(menusayisi);
switch (secimnumara)
{
case 0: Console.Write(menulistesi[0]); Console.ReadKey(); break;
case 1: Console.Write(menulistesi[1]); Console.ReadKey(); break;
case 2: Console.Write(menulistesi[2]); Console.ReadKey(); break;
case 3: Console.Write(menulistesi[3]); Console.ReadKey(); break;
case 4: Console.Write(menulistesi[4]); Console.ReadKey(); break;
}
}
}
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir