public static int Next(this Random random, Range r, int value, int plusminus) { int lower = Math.Max(value - plusminus, r.Lower); int upper = Math.Min(value + plusminus, r.Upper); return random.Next(lower, upper); }
private bool CanEnableButton(TextBox t, Range r) { if (t.Text.Length == 0) { return false; } if (int.Parse(t.Text) < r.Lower) { RunSim_Button.Enabled = false; return false; } return true; }
private void ValidateTextboxInput(TextBox box, KeyPressEventArgs e, Range r) { ToolTip tt = new ToolTip(); string tooltipString = string.Format("Only numbers between {0} - {1} are accepted", r.Lower, r.Upper); if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) { tt.Show(tooltipString, box, 50, -20, 1000); e.Handled = true; return; } if (char.IsControl(e.KeyChar)) { return; } int selectedLength = box.SelectionLength; string boxEntry = box.Text; if (selectedLength > 0) { boxEntry = boxEntry.Remove(boxEntry.Length - selectedLength); } if (r.Lower > 1 && boxEntry.Length == 0) { if (int.Parse(e.KeyChar + "0") < r.Lower) { tt.Show(tooltipString, box, 50, -20, 1000); e.Handled = true; } return; } int attempedEntry = int.Parse(boxEntry + e.KeyChar); if (attempedEntry > r.Upper || attempedEntry < r.Lower) { tt.Show(tooltipString, box, 50, -20, 1000); e.Handled = true; } }
public static int Next(this Random random, Range r) { return random.Next(r.Lower, r.Upper); }