Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Ant-kul
7 / 7 / 2
Регистрация: 06.08.2010
Сообщений: 109
.NET 3.x

Как получить доступ к progressBar внутри другого класа(не через клик кнопки)

06.08.2010, 02:16. Показов 2459. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток)
Я в себя в програмке конвертирую файл. Делаю это с помошью класса, и внутри него нужно организовать доступ к прогрес-бар, а доступа к нему нет, при попытке обращения ошибка.
Помогите пожалуйста.
Вот собственно код

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
using System;
...
namespace WindowsFormsApplication39
{
    public partial class Form1 : Form
    {
        public string sName, rName, dName, sN, rN, dN;
        public Form1()
        {
            InitializeComponent();
        }
 
        class osnova
        {
            public string r_f, d_f, s_f;
            public int n_k;
            public osnova(string sFile, string rFile, string dFile)
            {
                d_f = dFile;
                r_f = rFile;
                s_f = sFile;
            }
            public void open_s()
            {...}
            public void open_r()
            {...}
            public void progres(int val)
            {
                    ProgressBar1.Value = val // Здесь выдает ошибку
                    return;
            }
            public void convert()
            {
            // В процессе выполнения некого конвертирования ЗДЕСЬ 
            // должен вызываться progres(int value) и выставлять степень заполнения
            }
        }
        public void button4_Click(object sender, EventArgs e)
        {
            string sN = textBox1.Text;
            string rN = textBox2.Text;
            string dN = textBox3.Text;
            osnova num1 = new osnova(sN, rN, dN);
            num1.convert();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {...}    
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.08.2010, 02:16
Ответы с готовыми решениями:

Доступ к обьекту класа с другого файла
C++ Builder (Embarcadero RAD Studio 10.2) Здравствуйте, создав 2 форму в проекте доступ к ней с 1 формы можно примерно (в зависимости от...

Как получить значение атрибута кнопки на которой произошел клик?
function setCounter() { var btns= document.getElementsByClassName("myBtn"); for (var i = 0; i < btns.length; i++)...

Progressbar внутри кнопки на весь размер
Здравствуйте. Не могу понять как можно сделать ProgressBar внутри кнопки сделать на ее весь размер Перепробовал и Grid и WrapPanel и...

6
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
06.08.2010, 02:44
поменяйте modifier у progressbar-a с private на public
0
 Аватар для Ant-kul
7 / 7 / 2
Регистрация: 06.08.2010
Сообщений: 109
06.08.2010, 02:47  [ТС]
Цитата Сообщение от new_in_net Посмотреть сообщение
поменяйте modifier у progressbar-a с private на public
А где же это сделать? Я не вижу в принципе чтобы какаято процедура его создавала в коде((
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
06.08.2010, 02:54
Цитата Сообщение от Ant-kul Посмотреть сообщение
А где же это сделать? Я не вижу в принципе чтобы какаято процедура его создавала в коде((
посмотрите в инспекторе свойств объекта progressbar
0
 Аватар для Ant-kul
7 / 7 / 2
Регистрация: 06.08.2010
Сообщений: 109
06.08.2010, 03:02  [ТС]
Цитата Сообщение от new_in_net Посмотреть сообщение
посмотрите в инспекторе свойств объекта progressbar
Странно, не помогло. progressBar1 по прежнему не отвечает(.
И что характерно не отвечает внутри класса, а внутри батонклик всё в норме...
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
06.08.2010, 03:11
я посмотрел ваш код - вы к progressbar обращаетесь в подклассе как к своей переменной

самый простой способ - это видоизменить ваш класс так (передавая компоненту как параметр):

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
        class osnova
        {
            public string r_f, d_f, s_f;
            public int n_k;
            private ProgressBar progressBar;
            public osnova(string sFile, string rFile, string dFile, ProgressBar progressBar)
            {
                d_f = dFile;
                r_f = rFile;
                s_f = sFile;
                this.progressBar = progressBar;
            }
            public void open_s()
            {...}
            public void open_r()
            {...}
            public void progres(int val)
            {
                    progressBar.Value = val // Здесь ошибки не будет
                                        return;
            }
            public void convert()
            {
            // В процессе выполнения некого конвертирования ЗДЕСЬ 
            // должен вызываться progres(int value) и выставлять степень заполнения
            }
        }
Добавлено через 1 минуту
соответственно вызов надо тоже чуть видоизменить

C#
1
osnova num1 = new osnova(sN, rN, dN, ProgressBar1);
2
 Аватар для Ant-kul
7 / 7 / 2
Регистрация: 06.08.2010
Сообщений: 109
06.08.2010, 03:19  [ТС]
Цитата Сообщение от new_in_net Посмотреть сообщение
я посмотрел ваш код - вы к progressbar обращаетесь в подклассе как к своей переменной

.....

C#
1
osnova num1 = new osnova(sN, rN, dN, ProgressBar1);

Большое СПАСИБО!!! Я бы и за год до этого не дошол!!)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.08.2010, 03:19
Помогаю со студенческими работами здесь

Вызвать событие клик кнопки из другого события
как мне вызвать событие клик кнопки из другого события? пробовал вот так, не работает :( private void MainForm_KeyPress(object sender,...

Как получить доступ к переменной из другого класса
namespace ViewModel { public class AFViewModel : ViewModelBase { private int _SecPauseDel = 0; public int SecPauseDel ...

Как получить доступ к методу из другого класса?
public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { ...

Как получить доступ к массиву из другого класса?
Подскажите, есть такой код: switch(o_field.fieldArray) { // Код } Этот код находится в классе А, а массив fieldArray...

Как получить доступ к CardLayout из другого класса?
Здравствуйте, в общем суть вопроса такова. Есть два класса MainClass и SubClass в MainClasss иметься CardLayout и мне надо изменить панель...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru