У меня есть диаграмма для приложения WinForm, которая показывает несколько типов линий ряда. Но точки на оси Y ряда, значения меняются только на 1 вдоль оси X. Таким образом, чтобы удалить пустое неиспользуемое пространство из оси Y, я поместил 2 текстовых поля, чтобы дать возможность пользователю изменять его значения Min-Max и сделать значения оси Y более детальными.
Но это ручное изменение значений min-max оси приносит загадку, которую я не мог полностью решить.
Я понимаю, чтобы программа не вызывала сбой;
+ программадолжен проверить, являются ли текстовые поля Y-min, Y-max пустыми,
+ программа должна проверить, являются ли введенные значения на самом деле значениями типа double, а не строками,
+ программа должна проверить, больше ли введенное или текущее значение Y-maxчем введенное или текущее значение Y-min,
+ программа должна проверить, является ли введенное или текущее значение Y-max меньше введенного или текущего значения Y-max.
Я пробовал несколько подходов, но не смог 'не решить эту загадку полностью. Вот одна версия;
private void BtnBenchApply_Click(object sender, EventArgs e)
{
double yMin = 0;
double yMax = 0;
double n;
if (!(string.IsNullOrWhiteSpace(txtYmin.Text)) && double.TryParse(txtYmin.Text, out n) == true)
{
yMin = double.Parse(txtYmin.Text);
}
if (!(string.IsNullOrWhiteSpace(txtYmax.Text)) && double.TryParse(txtYmax.Text, out n) == true)
{
yMax = double.Parse(txtYmax.Text);
}
else
{
if (!(string.IsNullOrWhiteSpace(txtYmax.Text)) && (yMax <= yMin))
{
MessageBox.Show("Please check Min-Max values!", "Invalid Action", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
chartBench.ChartAreas[0].AxisY.Maximum = yMax;
chartBench.ChartAreas[0].AxisY.Minimum = yMin;
}
}
}
Как я могу реализовать это условие в коде, чтобы программа не вызывала сбой?