Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
lennen
0 / 0 / 2
Регистрация: 14.09.2014
Сообщений: 123
1

Как передать в функцию объект класса, будет ли это эффективно?

25.12.2015, 13:34. Просмотров 347. Ответов 3
Метки нет (Все метки)

Я создаю график:
C#
1
2
3
4
            zedGraph3.Location = new System.Drawing.Point(20, 10); //Для OFDM
            zedGraph3.Name = "zedGraph3";
            zedGraph3.Size = new System.Drawing.Size(900, 310);
            tabPage5.Controls.Add(zedGraph3);
Я хочу редактировать параметры графика функцией:

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
int pStres = pStyleEdit(zedGraph3.GraphPane);
 
 int pStyleEdit(string X)
        {
         // Включаем отображение сетки напротив крупных рисок по оси X
            zedGraph3.GraphPane.XAxis.MajorGrid.IsVisible = true;
            // Задаем вид пунктирной линии для крупных рисок по оси X:
            // Длина штрихов равна 10 пикселям, ... 
            zedGraph3.GraphPane.XAxis.MajorGrid.DashOn = 10;
            // затем 5 пикселей - пропуск
            zedGraph3.GraphPane.XAxis.MajorGrid.DashOff = 5;
            // Включаем отображение сетки напротив крупных рисок по оси Y
            zedGraph3.GraphPane.YAxis.MajorGrid.IsVisible = true;
            // Аналогично задаем вид пунктирной линии для крупных рисок по оси Y
            zedGraph3.GraphPane.YAxis.MajorGrid.DashOn = 10;
            zedGraph3.GraphPane.YAxis.MajorGrid.DashOff = 5;
            //Цвета
            zedGraph3.GraphPane.YAxis.MajorGrid.Color = Color.LightGray;
            zedGraph3.GraphPane.XAxis.MajorGrid.Color = Color.LightGray;
            zedGraph3.GraphPane.YAxis.MinorGrid.Color = Color.LightGray;
            zedGraph3.GraphPane.XAxis.MinorGrid.Color = Color.LightGray;
            // Включаем отображение сетки напротив мелких рисок по оси X
            zedGraph3.GraphPane.YAxis.MinorGrid.IsVisible = true;
            // Задаем вид пунктирной линии для крупных рисок по оси Y: 
            // Длина штрихов равна одному пикселю, ... 
            zedGraph3.GraphPane.YAxis.MinorGrid.DashOn = 1;
            // затем 2 пикселя - пропуск
            zedGraph3.GraphPane.YAxis.MinorGrid.DashOff = 1;
            // Включаем отображение сетки напротив мелких рисок по оси Y
            zedGraph3.GraphPane.XAxis.MinorGrid.IsVisible = true;
            // Аналогично задаем вид пунктирной линии для крупных рисок по оси Y
            zedGraph3.GraphPane.XAxis.MinorGrid.DashOn = 1;
            zedGraph3.GraphPane.XAxis.MinorGrid.DashOff = 1;
            return 0;
        }
Вроде все логично, но.. Что есть параметр функции? Это же не string, не object, так? Как к нему обратиться из функции? И оптимально ли вообще так делать, или есть что поинтереснее?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2015, 13:34
Ответы с готовыми решениями:

Передать объект класса как аргумент метода в поток
Имеется класс npimono, код использования: private void loadListButton_Click(object sender,...

Как передать объект с формы на форму (из класса в класс)?
Всем привет. Сижу мучаюсь, сейчас пойду в книжках ответ искать. На форме 1 по клику открывается,...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня...

Как передать объект класса в метод класса?
Здравствуйте, каким образом передать объект класса в метод класса? Вот код: class Program {...

C++ Как в многопоточность передать объект класса?
Доброго времени суток! Подскажите пожалуйста одну вещь, у меня есть функция внутри класса и мне...

3
EvilFromHell
954 / 852 / 346
Регистрация: 26.04.2012
Сообщений: 2,648
25.12.2015, 13:48 2
Настоятельная просьба, если постите код на C#, то использовать теги C#, а не какие-то другие, чтобы людям не приходилось ломать глаза об ваш код.

По теме: в шарпе функции принято звать методами(ибо вне классов шарп их писать не позволяет), а параметр у вас string X, и не используется он, на первый взгляд, нигде(но сильно вчитываться в красный код совершенно неохота, могу ошибаться). Обращаться к нему так же, как и к любой другой переменной-по имени. Чтобы сказать что оптимально-надо для начала понять, что вы вообще хотите сделать
0
lennen
0 / 0 / 2
Регистрация: 14.09.2014
Сообщений: 123
25.12.2015, 16:35  [ТС] 3
А. ну дак вопрос в том, что я хочу заменить все строчки вида
C#
1
zedGraph3.GraphPane.XAxis.MajorGrid.DashOn = 10;
на строчки вида
C#
1
X.XAxis.MajorGrid.DashOn = 10;
, но я не знаю, как передать в функцию X. Потому что тип у Х ну никак не string. Какой тип у Х?
0
EvilFromHell
954 / 852 / 346
Регистрация: 26.04.2012
Сообщений: 2,648
25.12.2015, 16:53 4
Ну так посмотрите, какого типа свойство GraphPane у zedGraph3. Для этого достаточно навести на него мышью.
0
25.12.2015, 16:53
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2015, 16:53

Как передать в поток объект класса
Допустим есть класс: class P { private: string text; public: void Text_create(string...

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

Как правильно передать объект класса по ссылке
Подскажите, хочу передать объект класса Image, im, компилятор пишет требуется ссылка на объект, как...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.