Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 31.05.2019
Сообщений: 158
1

Обратиться ко всем кнопкам в форме

13.03.2020, 19:16. Показов 3847. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, долго рылся в интернете, но так и ничего не нашел

C#
1
2
3
4
private void button_Click(object sender, EventArgs e)
        {
            button.BackgroundImage = Image.FromFile(@"C:\Users\Имя\OneDrive\Изображения\крестик.png");
        }
Нужно, чтобы при нажатии на кнопку ставилась картинка, но, чтобы не для каждой прописывать, а обратиться сразу ко всем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2020, 19:16
Ответы с готовыми решениями:

Как в цикле обратиться к конкретным кнопкам на форме и поменять им название?
На форме находится много всяких разных кнопочек. Мне же нужно в цикле for обратиться только к...

Обратиться ко всем кнопкам что есть на форме поочерёдно
А как можно обойти все кнопки что есть на форме? Вот захотелось мне написать универсальную функцию...

Как обратиться ко всем компонентам на форме?
как обратиться ко всем компонентам на форме delphi

Как обратиться ко всем pictureBox на форме
Доброго времени суток! Есть 64 PictureBox'a можно ли одновременно обратиться ко всем сразу (или...

11
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 19:37 2
CyberAnonim7,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        public Form1()
        {
            InitializeComponent();
 
            button1.Click += MyClick;
            button2.Click += MyClick;
            button3.Click += MyClick;
        }
 
        private void MyClick(object sender, EventArgs e)
        {
            MessageBox.Show("Нажата одно из кнопок");
        }
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
13.03.2020, 19:39 3
Enifan, ему надо прописать картинку в фон каждой из кнопок на форме
0
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 19:41 4
Diamante, честно говоря даже не смотрел что там написано
CyberAnonim7, картинка, так картинка
C#
1
2
3
4
        private void MyClick(object sender, EventArgs e)
        {
            (sender as Button).BackgroundImage = Image.FromFile(@"C:\Users\Имя\OneDrive\Изображения\крестик.png");
        }
1
2 / 2 / 0
Регистрация: 31.05.2019
Сообщений: 158
13.03.2020, 19:42  [ТС] 5
Что такое sender (только своими словами пожалуйста)
0
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 19:51 6
Цитата Сообщение от CyberAnonim7 Посмотреть сообщение
Что такое sender
sender - это один из параметров (тот что в скобках написан)
Если проще - это тот объект, который вызвал событие (в данном случаи это одна из кнопок).
1
2 / 2 / 0
Регистрация: 31.05.2019
Сообщений: 158
13.03.2020, 19:53  [ТС] 7
А в какой метод мне писать для того, чтобы все кнопки были задействованы
0
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 20:02 8
Цитата Сообщение от CyberAnonim7 Посмотреть сообщение
чтобы все кнопки были задействованы
в смысле ? чтобы при нажатии на одну кнопку изменялось изображение сразу у всех? или как ?
0
2 / 2 / 0
Регистрация: 31.05.2019
Сообщений: 158
13.03.2020, 20:07  [ТС] 9
При нажатии на 1ую изображение менялось у 1ой и т.д.

Добавлено через 1 минуту
Или обязательно менять метод события click на общий метод?
0
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 20:10 10
Цитата Сообщение от CyberAnonim7 Посмотреть сообщение
При нажатии на 1ую изображение менялось у 1ой и т.д.
я вам уже дал код в посте №4
0
2 / 2 / 0
Регистрация: 31.05.2019
Сообщений: 158
13.03.2020, 20:13  [ТС] 11
Цитата Сообщение от CyberAnonim7 Посмотреть сообщение
Или обязательно менять метод события click на общий метод?
?..
0
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
13.03.2020, 20:24 12
Цитата Сообщение от CyberAnonim7 Посмотреть сообщение
Или обязательно менять метод события click на общий метод?
что менять то?
это не метод, а событие.
в данном примере все кнопки подписываются на одно событие, чтобы не дублировать код для каждой.
также для каждой кнопки можно создать свое отдельное событие.
в данном примере все кнопки подписаны на одно событие, 1 и 2 кнопка на свое отдельное
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
        public Form1()
        {
            InitializeComponent();
 
            button1.Click += MyClick;
            button2.Click += MyClick;
            button3.Click += MyClick;
        }
 
        private void MyClick(object sender, EventArgs e)
        {
            // Сработали все кнопки
            (sender as Button).BackgroundImage = Image.FromFile(@"C:\Temp\крестик.png");
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Сработала кнопка 1");
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Сработала кнопка 2");
        }
 
        // А для кнопки 3 отдельного события нет
0
13.03.2020, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2020, 20:24
Помогаю со студенческими работами здесь

Как обратиться ко всем элементам определенного типа на форме?
Допустим на форме 10 кнопок. Можно обратится ко всем сразу? Допустим поменять некое свойство всем...

Существует ли возможность обратиться сразу ко всем comboBox в форме?
у меня есть несколько комбобоксов, которые должны работать абсолютно одинаково (они находятся на...

Задать обработчик всем кнопкам
Нужно всем кнопкам назначить определенный обработчик. Как это сделать? Отдельный класс создавать...

Как мне обратиться к кнопкам в цикле?
Прошу прощения, это наверно глупый вопрос, но я даже не знаю какой запрос ввести в гугл. У меня...


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

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