![]() |
Hoje veremos como aplicar o AutoScrool aos controles TextBox, ListBox, ListView, TreeView e DataGridView em um projeto Windows Forms. |
A rolagem automática até o final da caixa ou listagem de exibição é útil, por exemplo, em situações em que você usa um desses componentes como a janela de exibição de dados e deseja exibir o último elemento.
![]() |
Geralmente, você adiciona os itens à caixa ou na exibição e deseja ter certeza de que o último item adicionado está visível sem a necessidade de fazer isso com o mouse.
Recursos usados:
Criando o projeto Blazor no VS Community 2019
Abra o VS 2019 Community (versão mínima 16.4.x) e selecione a opção Create a New Project;
A seguir selecione a opção Windows Forms App (.NET Framework) e clique em next;
Informe o nome do projeto : <nome_projeto>, a localização e clique em Create;
No formulário Form1.cs inclua os seguintes controles:
Disponha os controles conforme o leiaute abaixo:
Em cada controle adicionamos dados usando a caixa de propriedades. Somente para o DataGridView é que fizemos isso via código usando a propriedade DataSource e usando um DataTable.
Abaixo temos o código do formulário onde aplicamos o AutoScroll a cada controle:
using System;
using System.Data;
using System.Windows.Forms;
namespace WF_AutoScroll
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CriaDataTable();
}
private void CriaDataTable()
{
DataTable table = new DataTable();
table.Columns.Add("Nome", typeof(string));
table.Rows.Add("Acre");
table.Rows.Add("Alagoas");
table.Rows.Add("Amapá");
table.Rows.Add("Bahia");
table.Rows.Add("Espirito Santo");
table.Rows.Add("Distrito Federal");
table.Rows.Add("Goiás");
table.Rows.Add("Paraná");
table.Rows.Add("Pará");
table.Rows.Add("São Paulo");
table.Rows.Add("Rio de Janeiro");
dataGridView1.DataSource = table;
}
private void btnExecuta_Click(object sender, EventArgs e)
{
ExecutaScroll();
}
private void ExecutaScroll()
{
//AutoScroll para TextBox
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
//AutoScroll para ListBox
listBox1.SelectedIndex = listBox1.Items.Count - 1;
listBox1.SelectedIndex = -1;
//AutoScroll para ListView
listView1.EnsureVisible(listView1.Items.Count - 1);
//AutoScroll para TreeView
treeView1.ExpandAll();
treeView1.Nodes[treeView1.Nodes.Count - 1].EnsureVisible();
//AutoScroll para DataGridview
dataGridView1.FirstDisplayedCell =
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0];
}
}
}
|
Executando o projeto iremos obter o resultado abaixo:
E estamos conversados...
Mateus 24:14
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
ASP .NET Core - Criando uma aplicação com Angular 2 - Macoratti.net
ASP .NET Core - Criando uma aplicação Web no ... - Macoratti.net
ASP .NET Core - Iniciando com o Blazor - Macoratti
ASP .NET Core - CRUD usando Blazor e Entity ... - Macoratti
Blazor - O novo framework SPA da Microsoft - Macoratti.net
Visual Studio Code - Suporte ao desenvolvimento Blazor