いくつかの行のコントロールを含むTableLayoutPanelを使用するC#.NET3.0プロジェクトがあります。一番上の項目が表示されなくなるように下にスクロールしてから、1つの列のコントロールを削除して新しいコントロールに置き換えると、TableLayoutPanelは一番上にスクロールして戻ります。
/// the panel in question
private System.Windows.Forms.TableLayoutPanel impl_;
/// The user has clicked a linklabel in the panel. replace it with an edit-box
private void OnClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
LinkLabel link_label = sender as LinkLabel;
TextBox new_edit = new TextBox();
// setup the new textbox...
TableLayoutPanelCellPosition pos = impl_.GetCellPosition(link_label);
impl_.Controls.Remove(link_label);
impl_.Controls.Add(new_edit, pos.Column, pos.Row);
new_edit.Focus();
}
スクロール位置が変わらないようにするにはどうすればよいですか?