V
Villiya
Уважаемые программисты, помогите пожалуйста разобраться с получением данных из формы на которой находятся 2 группы радиобаттонов по 3 шт в каждой и 3 текстбокса. в зависиости от того какой радиобаттон нажат (проверяется с помощью switch), переменным будет присваиваться некоторе значение и эти переменных нужно использовать в дальнейшем коде, но они остаются "видимыми" только в рамках switch, когда же я их пытаюсь использовать дальше выдается ошибка, что переменной не присвоено значение, подскажите как быть?
помогите пожалуйста, а то я уже голову сломала не знаю что и делать!
Посмотреть вложение WindowsFormsApplication1.rar
помогите пожалуйста, а то я уже голову сломала не знаю что и делать!
Код:
//пример проекта прилагается
public void ch()
{
double[,] z, x, y;
int LL, NN;
double xmin, xmax,zmin, zmax, zf;//некоторые переменные
switch (VisPar)//проверка на то какой радиобаттон нажат
{
case RadioCheckStatus.rbQ:
zmax = 0;
zmin = 100;
break;
case RadioCheckStatus.rbP:
case RadioCheckStatus.rbT:
zmax = -1e16;
zmin = 1e16;
break;
}
switch (VisSurf)//проверка на то какой радиобаттон нажат
{
case RadioCheckStatus.rbA:
LL = Int32.Parse(N0.Text);//считывание из текстбоксов
NN = Int32.Parse(M0.Text);
break;
case RadioCheckStatus.rbB:
LL = Int32.Parse(L0.Text);
NN = Int32.Parse(N0.Text);
break;
case RadioCheckStatus.rbC:
LL = Int32.Parse(L0.Text);
NN = Int32.Parse(M0.Text);
break;
}
//объявление массивов размер кот. определяется в зависимости от
//нажатого радиобаттона в switch (VisSurf)
//если данные массивы объявить в switch (VisSurf), то они не видны в дальнейшем коде,
//если объявлять вот так, то для них не видны LL и NN
x = new double[LL + 1, NN + 1];
y = new double[LL + 1, NN + 1];
z = new double[LL + 1, NN + 1];
//*
//некоторый код в котором будет заполнение массивов и работа с ними
//и переменными zmax и zmin, например,
//if (zf > zmax && zf <= 1e14) zmax = zf;
//if (zf < zmin) zmin = zf;
//значения zmin и zmax должны браться из switch (VisPar)
//*
MinMaxFloat2D(x, LL, NN, out xmin, out xmax);
ImageCalc(NN, LL, x, y, z);
}
public void MinMaxFloat2D(double[,] x, int LL, int NN, out double xmn, out double xmx)
{
xmx = xmn = x[0, 0];
for (int i = 0; i < LL; i++)
for (int j = 0; j < NN; j++)
{
if (xmn > x[i, j]) xmn = x[i, j];
if (xmx < x[i, j]) xmx = x[i, j];
}
![форма.JPG форма.JPG](https://codeby.net/data/attachments/3/3411-21d479828262640a593740eb946f2208.jpg?hash=IdR5goJiZA)