Я занимаюсь разработкой приложения для форм Windows. И у меня есть следующая проблема: в форме есть панель, и в этой панели у меня есть несколько элементов управления (просто метка с текстовым полем, число определяется во время выполнения). Размер этой панели меньше суммы всех динамически добавляемых элементов управления. Итак, мне нужен свиток. Идея такова: когда пользователь открывает форму: первый элемент управления должен быть сфокусирован, пользователь вводит текст и нажимает клавишу ввода, следующий элемент управления должен быть сфокусирован и так до завершения.
Что ж, вполне вероятно, что не все элементы управления помещаются на панель, поэтому я хочу, чтобы, когда элемент управления внутри панели получил фокус, панель прокручивается, чтобы позволить пользователю увидеть элемент управления и позволить ему увидеть, что он вводит в текстовое поле.
Я надеюсь, что будет ясно.
вот код, который используется для генерации элементов управления и добавления к панели:
List<String> titles = this.BancaService.ValuesTitle();
int position = 0;
foreach (String title in titles)
{
BancaInputControl control = new BancaInputControl(title);
control.OnInputGotFocus = (c) => {
//pnBancaInputContainer.VerticalScroll.Value = 40;
//pnBancaInputContainer.AutoScrollOffset = new Point(0, c.Top);
// HERE, WHAT CAN I DO?
};
control.Top = position;
this.pnBancaInputContainer.Controls.Add(control);
position += 10 + control.Height;
}