Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 3
1

Область видимости

29.08.2016, 15:24. Показов 883. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дня два назад меня дёрнуло наконец понять что из себя представляет до - диез.
Начал я с банальной вещи - квадратное уравнение.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Квадратное_уравнение
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void SOVEbutton_Click(object sender, EventArgs e)
        {
            double a = Convert.ToDouble(textBoxFIRST.Text);
            double b = Convert.ToDouble(textBoxSECOND.Text);
            double c = Convert.ToDouble(textBoxTHIRD.Text);
 
            double discr = Math.Pow(b, 2) - 4 * a * c;
 
            textBoxDISCR.Text = Convert.ToString(discr);
 
            string x1, x2, x;
 
            if (discr > 0)
            {
                x1 = Convert.ToString(Convert.ToInt16((-b + Math.Sqrt(discr)) / (2 * a)));
                x2 = Convert.ToString(Convert.ToInt16((-b - Math.Sqrt(discr)) / (2 * a)));
                textBoxX1.Text = x1;
                textBoxX2.Text = x2;
            }
            else if (discr == 0)
            {
                x = Convert.ToString(Convert.ToInt16((-b) / (2 * a)));
                textBoxX1.Text = x;
                textBoxX2.Text = x;
 
            }
            
        }
 
        public void button1_Click(object sender, EventArgs e)
        { 
            Form2 Form2 = new Form2();
            Form2.Show();
        }
    }
}
При нажатии кнопки DRAW A GRAPH я хотел, чтобы он рисовал создавал новую форму и график введённой функции в ней.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Квадратное_уравнение
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void chart1_Enter(object sender, EventArgs e)
        {
            
            for (int i = -20; i < 20; i++)
            {
                chart1.Series[0].Points.AddXY(i, a* i * i + b * i + c);
            }
 
        }
    }
}
Форму он создаёт а график не строит. Говорит имена a, b, c не существуют в текущем контексте.
Помогите пожалуйста.
Миниатюры
Область видимости  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2016, 15:24
Ответы с готовыми решениями:

Область видимости
Form.cs using System; using System.Collections.Generic; using System.ComponentModel; using...

Область видимости переменной
Привет. Скажите пожалуйста, если я объявляю новую переменную, например, внутри цикла или условия,...

Область видимости объекта
Нужна теория об области видимости объекта

Область видимости объекта
Собственно вопрос в следующем: как сделать объект dom созданный одним методом доступным в другом...

1
35 / 35 / 20
Регистрация: 11.08.2012
Сообщений: 142
29.08.2016, 15:55 2
Всё правильно. Переменные a, b, c - локальные переменные метода SOVEbutton_Click. Они не видны не только в других классах, но и в классе Form1 за пределами метода, в котором объявлены. Чтобы эти переменные использовать в объектах других классов, их нужно туда передать. Например, определить в классе Form2 конструктор, который будет принимать три параметра типа double, и при создании формы Form2 передавать туда нужные переменные. Но сначала их нужно вынести из метода - сделать полями класса Form1, тогда они станут видны и в других методах этого класса.
0
29.08.2016, 15:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2016, 15:55
Помогаю со студенческими работами здесь

Область видимости в try.. catch ..
Добрый день. Я новичок в с#. Пытаюсь решить такую задачу. 1. Объявляю переменные. 2....

Область видимости по умолчанию
Какая область видимости у классов, членов класса, членов перечислений, членов интерфейсов по...

Область видимости переменной
создаю форму есть класс namespace WF_2 { class TS { public string name;...

Область видимости и прочее
1. Когда я читал книги, там было написано, что если переменной не присвоена область видимости, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru