CreateRepairLabels(i);\r
CreateShipLabels(i);\r
}\r
- for (var i = 0; i * LineHeight < Height; i++)\r
- {\r
- _labelPanelList[i].Visible = InShipStatus(_mode);\r
- _groupingPanelList[i].Visible = _mode == "分類";\r
- _repairPanelList[i].Visible = _mode == "修復";\r
- }\r
SetupScrollBar();\r
}\r
\r
panel.Controls.AddRange(cb);\r
// ReSharper restore CoVariantArrayConversion\r
Controls.Add(panel);\r
+ var unused = panel.Handle; // create handle\r
foreach (var label in labels)\r
{\r
label.Scale();\r
// ReSharper disable once CoVariantArrayConversion\r
panel.Controls.AddRange(labels);\r
Controls.Add(panel);\r
+ var unused = panel.Handle; // create handle\r
foreach (var label in labels)\r
{\r
label.Scale();\r
// ReSharper disable once CoVariantArrayConversion\r
panel.Controls.AddRange(labels);\r
Controls.Add(panel);\r
+ var unused = panel.Handle; // create handle\r
foreach (var label in labels)\r
{\r
label.Scale();\r
{\r
for (var i = 0; i < (Height + LineHeight - 1) / LineHeight; i++)\r
{\r
+ HidePanels(i);\r
+ if (i + ScrollBar.Value >= _shipList.Length)\r
+ continue;\r
if (InShipStatus(_mode))\r
SetShipStatus(i);\r
if (_mode == "分類")\r
}\r
}\r
\r
+ private void HidePanels(int i)\r
+ {\r
+ _labelPanelList[i].Visible = _groupingPanelList[i].Visible = _repairPanelList[i].Visible = false;\r
+ }\r
+\r
private bool InShipStatus(string mode) => Array.Exists(new[] {"全艦", "A", "B", "C", "D"}, x => mode == x);\r
\r
private void SetShipStatus(int i)\r
{\r
- var panel = _labelPanelList[i];\r
- if (i + ScrollBar.Value >= _shipList.Length)\r
- {\r
- panel.Visible = false;\r
- return;\r
- }\r
var s = _shipList[i + ScrollBar.Value];\r
var labels = _labelList[i];\r
if (s.Level == 1000) // 艦種の表示\r
labels[3].SetExpToNext(s);\r
labels[4].SetName(s, ShipNameWidth.ShipList);\r
labels[5].SetFleet(s);\r
- panel.Visible = true;\r
+ _labelPanelList[i].Visible = true;\r
}\r
\r
private void SetShipType(int i)\r
\r
private void SetGrouping(int i)\r
{\r
- var panel = _groupingPanelList[i];\r
- if (i + ScrollBar.Value >= _shipList.Length)\r
- {\r
- panel.Visible = false;\r
- _labelPanelList[i].Visible = false;\r
- return;\r
- }\r
var s = _shipList[i + ScrollBar.Value];\r
var labels = _groupingLabelList[i];\r
if (s.Level == 1000)\r
{\r
- panel.Visible = false;\r
SetShipType(i);\r
return;\r
}\r
var cb = _checkBoxesList[i];\r
for (var j = 0; j < cb.Length; j++)\r
cb[j].Checked = GroupSettings[j].Contains(s.Id);\r
- panel.Visible = true;\r
+ _groupingPanelList[i].Visible = true;\r
}\r
\r
private void SetRepairList(int i)\r
{\r
- var panel = _repairPanelList[i];\r
- if (i + ScrollBar.Value >= _shipList.Length)\r
- {\r
- panel.Visible = false;\r
- _labelPanelList[i].Visible = false;\r
- return;\r
- }\r
var s = _shipList[i + ScrollBar.Value];\r
if (s.Level == 1000)\r
{\r
- panel.Visible = false;\r
SetShipType(i);\r
return;\r
}\r
labels[3].Text = s.RepairTimePerHp.ToString(@"mm\:ss");\r
labels[4].SetName(s, ShipNameWidth.RepairListFull);\r
labels[5].SetFleet(s);\r
- panel.Visible = true;\r
+ _repairPanelList[i].Visible = true;\r
}\r
\r
public event Action HpLabelClick;\r