Developing

Archive for the ‘CSharp’ Category

C# – Fatorial

Introdução

Este post mostra como calcular fatorial em C#. No exemplo é calculado o fatorial de 0 a 20. Mas o mesmo pode ser facilmente modificado para que se calcule apenas o fatorial desejado, ou exiba os resultados de fatoriais diferentes. Esse exemplo foi feito para Console Application, mas pode ser utilizando em Windows Forms dubstituindo as linhas onde exite a palavra Console.

Fatorial

O fatorial de um número consiste em um importante mecanismo nos estudos envolvendo Análise Combinatória, pois a multiplicação de números naturais consecutivos é muito utilizada nos processos de contagem. Fatorial de um número consiste em multiplicar o número por todos os seus antecessores até o número 1.

Observe a definição a seguir:
Representamos o fatorial de um número por n! e o desenvolvimento por n! = n * (n – 1) * (n – 2) * (n – 3) * … * 4 * 3 * 2 * 1 para n ≥ 2. Caso n = 1, temos 1! = 1 e n = 0, temos 0! = 1.

Exemplo

3! = 3 * 2 * 1 = 6
4! = 4 * 3 * 2 * 1 = 24
5! = 5 * 4 * 3 * 2 * 1 = 120
6! = 6 * 5 * 4 * 3 * 2 * 1 = 720
7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040
8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 40 320
9! = 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 362 880
10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 3 628 800

Continue Lendo

C# – StringBuilder vs Concatenation

Introduction

Esses dias estive pensando:

“O que é mais rápido: Utilizar StringBuilder ou Concatenar as Strings?”.

Então resolvi fazer alguns teste para ver qual método é o mais eficiente, StringBuilder ou Concat String.

String Concatenation

A concatenação de strings  é uma das operações mais utilizadas por todos os desenvolvedores. Porém, a má utilização dela no .NET pode resultar em perda de desempenho.

No .Net temos duas (principais) formas de concatenar string:

  1. Adicionando uma nova string à uma já existente. No .NET Framework quando você adiciona uma nova string para uma string existente, o Framework copia as duas strings, a nova e a antiga, para a memória, faz a leitura e armazena em outra string.
  2. Utilizando a classe StringBuilder. O StringBuilder fornece o método Apend que insere uma nova string na string existente.

Continue Lendo

C# – Real Time Chart

Introduction

In this post I will show how to create a “Real Time” chart using C# and ZedGraph.

Esse post mostra como criar gráficos em tempo real utilizando o ZedGraph.

Continue Lendo

C# – ZedGraph Control

Introduction

In this post I will show how to create simple chart using C# and ZedGraph.

Esse post mostra como criar gráficos simples utilizando o ZedGraph.

Continue Lendo

C# – ReadOnly CheckBox

Introduction

O meio que temos para impedir que um usuário clique em um CheckBox é por setar a propriedade Enable para false, no entanto, os controles com essa propriedade tomam cor diferente. Nesse post mostrarei como impedir que o usuário clique em um controle CheckBox, ou seja um CheckBox ReadOnly, onde não será possivé alterar a propriedade checked dele.

In this post I’ll show how to prevent the user clicks a CheckBox Control, that is a CheckBox ReadOnly, where not possible to change the checked property of it.

Continue Lendo

C# – Change ProgressBar Color

Introdução

Esse tutorial mostrará como mudar a cor de preenchimento do controle ProgressBar, utilizado para mostrar o progresso, andamento de determinada tarefa ao usuário, em tempo de execução . Infelizmente isso não é possivél com o controle nativo do .NET, sendo assim, será necessário extendermos a classe ProgressBar.

This tutorial will show how to change the fill color of the ProgressBar control, used to show progress, status of a particular task to the user, at runtime. Unfortunately this is not possible with the . NET native control, so we will need to extend the ProgressBar class.

ProgressBar principal form

Change ProgressBar Color

Continue Lendo

C# – Screenshot

Introdução

Esse post abordará a criação de uma simples aplicação que tira um printscreen e salva o mesmo em um local escolhido pelo desenvolvedor, ou simplesmente um windows forms screenshot C#.

This post shows how to create a simple application to take/shot a screenshot (print screen) and save it.

Continue Lendo

C# – Anchor

Introdução

As propriedades Anchor e Dock ditam a forma como o controle se comportará dentro do formulário ou dentro de seu controle pai.

Continue Lendo

C# – SplitContainer

Introdução

O controle SplitContainer cria uma subseção em um formulário onde um Splitter (divisor, barra) divideo controle em mais dois controles chamados de SplitterPanel. Os splitterpanel funcionam de modo similar ao controle Panel.
No SplitContainer o usuário pode movimentar um splitter (barra) com o mouse alterando seu posicionamento e consequentemente alterando o tamanho de cada splitterpanel.
Os splitterpanel podem conter (hospedar) controles e são distintos do restante do formulário. Podem exibir barras de rolagem (scroll bars) bastando setar a propriedade AutoScroll para True. Os splitterpanel não possuem a propriedade BorderStyle, porém, o SplitContainer possui esta propriedade e sua alteração interfere no na aparência do Splitter.
A orientação do Splitter é determinada pela propriedade Orientation podendo ser ajustada para Vertical e Horizontal.

Continue Lendo