private void SetTabAlignment()
{
var newAlignment = this._cfgCommon.ViewTabBottom ? TabAlignment.Bottom : TabAlignment.Top;
if (ListTab.Alignment == newAlignment) return;
// 各タブのリスト上の選択位置などを退避
var listSelections = this.SaveListViewSelection();
ListTab.Alignment = newAlignment;
foreach (TabPage tab in ListTab.TabPages)
{
DetailsListView lst = (DetailsListView)tab.Tag;
TabModel tabInfo = _statuses.Tabs[tab.Text];
using (ControlTransaction.Update(lst))
{
// 選択位置などを復元
this.RestoreListViewSelection(lst, tabInfo, listSelections[tabInfo.TabName]);
}
}
}