private readonly InformationPanel _information;\r
private CellInfo _cellInfo;\r
private readonly BattleData _data = new BattleData();\r
+ private int _lines;\r
\r
public Spoiler Spoilers { get; set; }\r
\r
\r
private void ClearResult()\r
{\r
+ _lines = 0;\r
_scrollPosition = AutoScrollPosition;\r
- SetPanelVisible(0);\r
+ SetPanelVisible();\r
_information.Visible = false;\r
_rankLabel.Text = "";\r
_supportLabel.Text = "";\r
SuspendLayout();\r
SetEachResult(_friendLabels, result.Friend);\r
SetEachResult(_enemyLabels, result.Enemy);\r
- var lines = Max(Ships(result.Friend).Length, Ships(result.Enemy).Length);\r
- SetPanelVisible(lines);\r
+ _lines = Max(Ships(result.Friend).Length, Ships(result.Enemy).Length);\r
+ SetPanelVisible();\r
ResumeLayout(); // スクロールバーの有無を決定する\r
AdjustPanelWidth();\r
}\r
}\r
}\r
\r
- private void SetPanelVisible(int showPanels)\r
+ private void SetPanelVisible()\r
{\r
for (var i = 0; i < _friendLabels.Count; i++)\r
- _friendLabels[i].BackPanel.Visible = i < showPanels;\r
+ _friendLabels[i].BackPanel.Visible = i < _lines;\r
}\r
\r
private int _gap;\r
var labelMax = _enemyLabels[0].Name.Location.X + _enemyLabels.Max(labels => labels.Name.Size.Width) - 1;\r
var panelWidth = Max(ClientSize.Width, // スクロールバーの有無を反映した横幅\r
labelMax); // 敵の名前の右端\r
- foreach (var panel in from labels in _friendLabels where labels.BackPanel.Visible select labels.BackPanel)\r
- panel.Width = panelWidth;\r
+ for (var i = 0; i < _lines; i++)\r
+ _friendLabels[i].BackPanel.Width = panelWidth;\r
_gap = (ClientSize.Width - labelMax) * 2 / 3;\r
}\r
\r