public StatsMultiplierTesting()
        {
            InitializeComponent();

            _statControls = new List <StatMultiplierTestingControl>();
            for (int s = 0; s < Values.STATS_COUNT; s++)
            {
                var sc = new StatMultiplierTestingControl
                {
                    StatName = $"[{s}]{Utils.StatName(s, true)}"
                };
                if (Utils.Precision(s) == 3)
                {
                    sc.Percent = true;
                }
                sc.OnLevelChanged  += Sc_OnLevelChanged;
                sc.OnTECalculated  += SetTE;
                sc.OnIBCalculated  += SetIB;
                sc.OnIBMCalculated += SetIBM;
                _statControls.Add(sc);
            }
            // add controls in order like in-game
            for (int s = 0; s < Values.STATS_COUNT; s++)
            {
                flowLayoutPanel1.Controls.Add(_statControls[Values.statsDisplayOrder[s]]);
                flowLayoutPanel1.SetFlowBreak(_statControls[Values.statsDisplayOrder[s]], true);
            }

            // set bottom controls to bottom
            flowLayoutPanel1.Controls.Add(gbLevel);
            flowLayoutPanel1.Controls.Add(LbAbbreviations);

            _fineAdjustmentRange = new MinMaxDouble(0);
            rbTamed.Checked      = true;
            gbFineAdjustment.Hide();
        }