私はWindowsフォームアプリケーションを開発しています。そして、私は次の問題があります:フォームにはパネルがあり、パネルには多数のコントロールがあります(テキストボックスのラベル、実行時に番号が決まります)。このパネルのサイズは、動的に追加されたすべてのコントロールの合計よりも小さくなっています。だから、私はスクロールが必要です。ユーザーがフォームを開いたとき:最初のコントロールにフォーカスを合わせ、ユーザーがテキストを入力してEnterキーを押し、次のコントロールにフォーカスを合わせ、完了するまで続けます。windows forms:プログラムでスクロール
これはおそらく、すべてのコントロールがパネルに収まるわけではないので、パネル内のコントロールにフォーカスがあると、パネルがスクロールしてユーザーにコントロールが表示され、ユーザーが入力した内容を見ることができますテキストボックス
私は明確になることを望みます。ここ
はいくつかのコードで、このコードが生成されたコントロールに使用してパネルに追加されます。
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;
}
スクロールアニメーションをしたいですか?または、特定のコントロールの表示/非表示を切り替えるだけですか? – SkonJeet
ありがとうございます、フォーカスを得たコントロールの可視性 –