segunda-feira, 29 de março de 2021

WINDOWS FORMS C# - ALINHAR À DIREITA UMA COLUNA DO DATAGRIDVIEW

É bem simples. Basta definir a constantes que indicam o alinhamento de conteúdo dentro de uma célula DataGridView


 dgvTabelaParticulaAdicionar.Columns[6].DefaultCellStyle.Alignment =                                      

         DataGridViewContentAlignment.TopRight;


Campos

CAMPOS
BottomCenter512

O conteúdo é alinhado verticalmente na parte inferior e horizontalmente no centro de uma célula.

BottomLeft256

O conteúdo é alinhado verticalmente na parte inferior e horizontalmente à esquerda de uma célula.

BottomRight1024

O conteúdo é alinhado verticalmente na parte inferior e horizontalmente à direita de uma célula.

MiddleCenter32

O conteúdo é alinhado no centro vertical e horizontal de uma célula.

MiddleLeft16

O conteúdo é alinhado verticalmente no meio e horizontalmente à esquerda de uma célula.

MiddleRight64

O conteúdo é alinhado verticalmente no meio e horizontalmente à direita de uma célula.

NotSet0

O alinhamento não está definido.

TopCenter2

O conteúdo é alinhado verticalmente na parte superior e horizontalmente no centro de uma célula.

TopLeft1

O conteúdo é alinhado verticalmente na parte superior e horizontalmente à esquerda de uma célula.

TopRight4

O conteúdo é alinhado verticalmente na parte superior e horizontalmente à direita de uma célula.

Formatar TextBox Valores Decimais

 Adicione um TextBox ao seu projeto e faça as seguintes alterações:

string valor;
        private void txt_valor_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && e.KeyChar != Convert.ToChar(Keys.Back))
            {
                if (e.KeyChar == ',')
                {
                    e.Handled = (txt_valor.Text.Contains(","));
                }
                else
                    e.Handled = true;
            }            
        }

        private void txt_valor_Leave(object sender, EventArgs e)
        {
            valor = txt_valor.Text.Replace("R$", "");
            txt_valor.Text = string.Format("{0:C}", Convert.ToDouble(valor));
        }

        private void txt_valor_KeyUp(object sender, KeyEventArgs e)
        {
        	valor = txt_valor.Text.Replace("R$","").Replace(",","").Replace(" ","").Replace("00,","");
        	if(valor.Length == 0)
        	{
        		txt_valor.Text = "0,00"+valor;
        	}
        	if(valor.Length == 1)
        	{
        		txt_valor.Text = "0,0"+valor;
        	}
        	if(valor.Length == 2)
        	{
        		txt_valor.Text = "0,"+valor;
        	}
        	else if(valor.Length >= 3)
        	{
        		if(txt_valor.Text.StartsWith("0,"))
        		{
        			txt_valor.Text = valor.Insert(valor.Length - 2,",").Replace("0,","");
        		}
        		else if(txt_valor.Text.Contains("00,"))
        		{
        			txt_valor.Text = valor.Insert(valor.Length - 2,",").Replace("00,","");
        		}
        		else
        		{
        			txt_valor.Text = valor.Insert(valor.Length - 2,",");
        		}
        	}        	
        	valor = txt_valor.Text;
            txt_valor.Text = string.Format("{0:C}", Convert.ToDouble(valor));
            txt_valor.Select(txt_valor.Text.Length,0);
        }