У меня есть проект на C # .NET 3.0, который использует TableLayoutPanel, содержащий несколько строк элементов управления. Если я прокручиваю вниз так, что верхний элемент больше не виден, затем удаляю элемент управления в одном столбце и заменяю его новым элементом управления, 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();
}
Что мне нужно сделать, чтобы не изменить положение прокрутки?