VB .NET - Controlando o tamanho da janela do Console


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:


José Carlos Macoratti