Neste artigo vou mostrar como podemos controlar o tamanho da janela do Console. |
Quando desenvolvemos aplicações do tipo Console Application pode ser necessário determinar o tamanho da janela atual do Console, ou alterar as dimensões da janela para um propósito específico.
Essas tarefas podem ser realizadas usando a classe Console e será o objetivo deste artigo.
A classe Console
A classe console esta presente no namespace System e possui diversos e métodos. Ela representa a entrada e a saída para aplicações do tipo Console Application.
A seguir alguns das suas principais propriedades :
Dentre os métodos mais usados desta classe temos:
Para detalhes completo consulte a documentação em : https://msdn.microsoft.com/en-us/library/system.console%28v=vs.110%29.aspx
Dessa forma quando você esta desenvolvendo uma aplicação que é executada em uma janela do Console você pode desejar determinar o tamanho da janela antes de exibir o texto.
As propriedades WindowHeight e WindowWidth retornam a dimensão apropriada da janela em caracteres, e, se você alterar os valores dessas propriedades pode controlar o tamanho da janela do Console.
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Controlando o tamanho da janela do Console
Abra o VS Community 2015 e clique em New Project;
Vamos criar dois projetos: Um projeto usando a linguagem C# e outro projeto usando a linguagem VB .NET
Selecione a Visual C#c -> Console Application;
Informe o nome Console_Demo e clique no botão OK;
Depois clique no menu File -> Add Project;
Selecione a Visual Basic -> Console Application;
Informe o nome Console_Demo_VBNET e clique no botão OK;
A seguir defina o código abaixo na classe Program.cs do projeto C#:
using System;
namespace Console_Demo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Pressione as teclas para redimensionar a janela , tecle Enter para encerrar");
Console.Title = "Macoratti .net";
Console.CursorVisible = false;
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
ConsoleKeyInfo keyInfo;
do
{
Console.CursorLeft = 0;
Console.CursorTop = 1;
Console.Write("({0}x{1}) ", Console.WindowWidth, Console.WindowHeight);
keyInfo = Console.ReadKey();
switch (keyInfo.Key)
{
case ConsoleKey.LeftArrow:
Console.WindowWidth = Math.Max(Console.WindowWidth - 1, 6);
break;
case ConsoleKey.RightArrow:
Console.WindowWidth = Math.Min(Console.WindowWidth + 1, 100);
break;
case ConsoleKey.UpArrow:
Console.WindowHeight = Math.Max(Console.WindowHeight - 1, 2);
break;
case ConsoleKey.DownArrow:
Console.WindowHeight = Math.Min(Console.WindowHeight + 1, 60);
break;
}
} while (keyInfo.Key != ConsoleKey.Enter);
}
}
}
|
Executando o projeto teremos:
Se você pressionar as teclas das setas para cima, seta para baixo , para direita e para esquerda irá controlar o tamanho da janela do Console.
Agora no projeto VB .NET inclua o código abaixo no arquivo Module1.vb :
Module Module1
Sub Main()
Console.WriteLine("Pressione as teclas para redimensionar a janela , tecle Enter para encerrar")
Console.Title = "Macoratti .net"
Console.CursorVisible = False
Console.BackgroundColor = ConsoleColor.Blue
Console.ForegroundColor = ConsoleColor.Black
Dim keyInfo As ConsoleKeyInfo
Do
Console.CursorLeft = 0
Console.CursorTop = 1
Console.Write("({0}x{1}) ", Console.WindowWidth, Console.WindowHeight)
keyInfo = Console.ReadKey()
Select Case keyInfo.Key
Case ConsoleKey.LeftArrow
Console.WindowWidth = Math.Max(Console.WindowWidth - 1, 6)
Exit Select
Case ConsoleKey.RightArrow
Console.WindowWidth = Math.Min(Console.WindowWidth + 1, 100)
Exit Select
Case ConsoleKey.UpArrow
Console.WindowHeight = Math.Max(Console.WindowHeight - 1, 2)
Exit Select
Case ConsoleKey.DownArrow
Console.WindowHeight = Math.Min(Console.WindowHeight + 1, 60)
Exit Select
End Select
Loop While keyInfo.Key <> ConsoleKey.Enter
End Sub
End Module
|
Executando o projeto iremos obter:
Pegue o projeto completo aqui : Console_Demo.zip
"Porque pela graça sois salvos, por meio
da fé; e isto não vem de vós, é dom de Deus.
Não vem das obras, para que ninguém se glorie;"
Efésios 2:8,9
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
VB .NET - Pausa para o almoço (usando sleep) - Macoratti.net