Как прокрутить вниз DataGridView и ListBox |
![]() |
Добавил(а) microsin |
Мне известны два способа, один основан на вычислении количества отображаемых строк, другой в использовании свойства Selected (для DataGridView) или SelectedIndex (для ListBox). [Прокрутка вниз ListBox] Способ на основе вычисления количества отображаемых строк: void ПрокрутитьВниз(ListBox lb) { int visibleItems = lb.ClientSize.Height / lb.ItemHeight; lb.TopIndex = Math.Max(lb.Items.Count - visibleItems + 1, 0); } Более простой способ, основанный на программном выделении последней строки: void ПрокрутитьВниз(ListBox lb) { lb.SelectedIndex = lb.Items.Count - 1; } [Прокрутка вниз DataGridView] Способ на основе вычисления количества отображаемых строк: void ПрокрутитьВниз(DataGridView dgv) { int visibleItems = (dgv.ClientSize.Height - dgv.ColumnHeadersHeight) / dgv.Rows[0].Height; dgv.FirstDisplayedScrollingRowIndex = Math.Max(dgv.Rows.Count - visibleItems + 1, 0); } Более простой способ, основанный на программном выделении последней строки: void ПрокрутитьВниз(DataGridView dgv) { dgv.CurrentCell = dgv.Rows[dgv.Rows.Count-1].Cells[0]; dgv.CurrentCell.Selected = false; } [Ссылки] 1. Visual Studio C#: часто задаваемые вопросы (FAQ). |