У меня есть список стран, которые будут отображаться внутри панели макета таблицы (один col x many rows). Фильтр combobox существует для фильтрации разных континентов и на основе отфильтрованного континента, список стран становится видимым и скрытым внутри представления таблицы. Однако, когда вы прокручиваете скроллер вверх и вниз, а затем применяете фильтр со списком к другому континенту, скроллер не прокручивается вверх. Скроллер должен вернуться в первый видимый элемент управления страной/компонент внутри макета панели.Windows Form C# tablelayoutpanel прокрутка вверх, не обновляется при использовании combofilterbox
Неужели кто-то испытал этот вопрос раньше. Код выглядит примерно так. Любая помощь будет высоко ценится. Я пробовал разные варианты, ничто не влияет на скроллер.
<pre>
{
....
if (scrollDirection == ScrollDirection.Up)
{
Control usercontrol = GetFirstVisibleCountryUC();
if (usercontrol != null)
{
tableLayoutPanelCountries.ScrollControlIntoView(usercontrol);
tableLayoutPanelCountries.Invalidate(); //Refresh, Update have tried different options
}
}
.....
}
private Control GetFirstVisibleCountryUC()
{
foreach (CountryUC uc in this.tableLayoutPanelCountries.Controls)
{
if (uc.Visible)
{
return uc;
}
}
return null;
}
</pre>
Что-то здесь не так. Можете ли вы опубликовать небольшой, но полный код, который показывает проблему. –