comparison UI/EquipmentAmountControl.cs @ 88:340e711ca4c3

Re #205: Odd/prime numbers causes a crash * Resolve crash in call stack by ignoring update events when updating a spinner box
author IBBoard <dev@ibboard.co.uk>
date Mon, 02 Nov 2009 20:02:12 +0000
parents 0bb9f40d44eb
children 971f7801f984
comparison
equal deleted inserted replaced
87:4c5c8f91937a 88:340e711ca4c3
124 OnValueChanged(); 124 OnValueChanged();
125 } 125 }
126 126
127 private void SetNumericValueFromPercentage() 127 private void SetNumericValueFromPercentage()
128 { 128 {
129 numeric.ValueChanged -= numeric_ValueChanged;
129 numeric.Value = CalculateNumericValueFromPercentage(percentage.Value); 130 numeric.Value = CalculateNumericValueFromPercentage(percentage.Value);
131 numeric.ValueChanged += numeric_ValueChanged;
130 } 132 }
131 133
132 private decimal CalculateNumericValueFromPercentage(decimal percent) 134 private decimal CalculateNumericValueFromPercentage(decimal percent)
133 { 135 {
134 return (decimal) IBBoard.CustomMath.IBBMath.Round((double)(unit.Size * (percent / 100)), equip.RoundNumberUp); 136 return (decimal) IBBoard.CustomMath.IBBMath.Round((double)(unit.Size * (percent / 100)), equip.RoundNumberUp);
141 } 143 }
142 144
143 private void SetPercentageValueFromNumeric() 145 private void SetPercentageValueFromNumeric()
144 { 146 {
145 int number = (int)numeric.Value; 147 int number = (int)numeric.Value;
148 percentage.ValueChanged -= percentage_ValueChanged;
146 percentage.Value = CalcualtePercentageValueFromNumber(number); 149 percentage.Value = CalcualtePercentageValueFromNumber(number);
150 percentage.ValueChanged += percentage_ValueChanged;
147 } 151 }
148 152
149 private decimal CalcualtePercentageValueFromNumber(int number) 153 private decimal CalcualtePercentageValueFromNumber(int number)
150 { 154 {
151 return (decimal) Math.Round((number / (unit.Size * 1.0)) * 100, 1); 155 return (decimal) Math.Round((number / (unit.Size * 1.0)) * 100, 1);