Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103

Как сделать элемент активным?

11.11.2016, 13:31. Показов 5753. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли меняя какое-либо свойство button сделать его активным при
C#
1
Visible = false
Т.е. при нажатии ЛКМ на невидимую button срабатывало событие CLick.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2016, 13:31
Ответы с готовыми решениями:

Как сделать окно активным?
Как сделать активным другой процесс? Т.е есть моя программа на Windows Form и есть другой процесс с блокнотом допустим. Нужно чтобы...

Как сделать Label активным по щелчку мышью?
Что надо сделать чтобы Label выделялся (фокусировался) при нажатии на него кнопкой мыши.

Как сделать Checked List Box активным при наведении мыши?
Имется некий checkedListbox1 в котором некоторые значения, не суть. Чтобы поставить галочку напротив значения, нужно сначала...

18
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
11.11.2016, 13:37
Веселый, Проще так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        private void button1_Click(object sender, EventArgs e)
        {
            Do();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Do();
        }
 
        private void Do()
        {
            // здесь логика
        }
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
11.11.2016, 13:52
Веселый, если задать невидимость таким образом:
C#
1
2
3
4
5
button1.Text = "";
button1.FlatStyle = FlatStyle.Flat;
button1.FlatAppearance.BorderColor = BackColor;
button1.FlatAppearance.MouseOverBackColor = BackColor;
button1.FlatAppearance.MouseDownBackColor = BackColor;
То будет срабатывать событие.
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
11.11.2016, 14:47  [ТС]
Людвиг Бодмер,в моём случае Ваша подсказка не эффективна !
Кнопки расположены на станциях, не должны быть видны даже контуры кнопки, но Click должен работать.
Миниатюры
Как сделать элемент активным?   Как сделать элемент активным?  
0
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
11.11.2016, 14:54
Веселый, А мое решение Вам чем не подходит?
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
11.11.2016, 14:55
Веселый, сделайте картинку по размеру вашей станции того же цвета и отлавливайте клик по ней
1
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
11.11.2016, 15:03
Веселый, тогда делайте как bbq советует
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
11.11.2016, 15:48  [ТС]
Я уже пробовал сразу загружать imaje . Получается некрасиво .Контур кнопки разрывает линию пути.Что делать???

Добавлено через 4 минуты
bbq ,Вы имеете ввиду использовать Paint и Mause_Click???
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
11.11.2016, 18:14
Я имею ввиду picturebox и click
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.11.2016, 18:57  [ТС]
Serg34,с вашим кодом при нажатии на невидимую button1 ничего не происходит.Должна исчезать button2(Элементарное действие не происходит!!!)

C#
1
2
3
4
5
6
7
8
9
10
11
12
private void button1_Click(object sender, EventArgs e)
        {
            GO();
        }
        private void button2_Click(object sender, EventArgs e)
        {
 
        }
        private void GO()
        {
            button2.Visible = false;
        }
0
1 / 1 / 1
Регистрация: 03.02.2015
Сообщений: 78
12.11.2016, 19:13
Возможно есть возможность при клике на форму проверять, в какой координате мышь и через switch case прописать действия кнопок?
Тогда и кнопки не нужны

Тут про местоположения мыши
Как получить координаты курсора мыши
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.11.2016, 20:01  [ТС]
Artemonim, это дополнительный головняк и загрузка процессора.Простота - залог здоровья PC .
0
1 / 1 / 1
Регистрация: 03.02.2015
Сообщений: 78
12.11.2016, 20:05
Веселый, неоптимальная программа лучше неработающей
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.11.2016, 20:46  [ТС]
Неужели не существует возможности сделать активными label или button при
C#
1
Visible = false;
???!!!
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
12.11.2016, 22:19
Веселый, а эта картинка с ветками метро она у тебя в каком контроле располагается, в PictureBox?
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
12.11.2016, 22:59
Веселый, что Вы привязались к этим кнопкам, я Вам сказал вполне нормальный вариант
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.11.2016, 23:06  [ТС]
Людвиг Бодмер,я намёк понял . Да в PictureBox!
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
13.11.2016, 08:31
Веселый, я не намекал ни на что) Если вариант с прозрачными .png картинками или к примеру с самодельными круглыми разноцветными кнопками не устраивает, то можно попробовать такой плохой вариант:
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
private void pictureBox_Click(object sender, EventArgs e)
        {
            MouseEventArgs me = (MouseEventArgs)e;
            Rectangle rect1 = new Rectangle(button1.Left, button1.Top, button1.Width, button1.Height);
            Rectangle rect2 = new Rectangle(button2.Left, button2.Top, button2.Width, button2.Height);
 
            if (rect1.Contains(me.X + pictureBox.Location.X, me.Y + pictureBox.Location.Y))
            {
                button1.Visible = true;
                button1.PerformClick();
                button1.Visible = false;
            }
            if (rect2.Contains(me.X + pictureBox2.Location.X, me.Y + pictureBox2.Location.Y))
            {
                button2.Visible = true;
                button2.PerformClick();
                button2.Visible = false;
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
        }
1
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
13.11.2016, 14:26
Цитата Сообщение от Веселый Посмотреть сообщение
при нажатии на невидимую button1 ничего не происходит
Ничего и не будет происходить, она же не видима. Я говорил, что логику нужно вынести в отдельный метод и при нажатии на кнопку button1 вызывать его независимо от видимости кнопки button2

Вот доработанный пример того, о чем Людвиг Бодмер пишет:
C#
1
2
3
4
5
6
7
8
9
10
11
12
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Success");
        }
 
        private void Form2_Click(object sender, EventArgs e)
        {
            if (button2.RectangleToScreen(button2.DisplayRectangle).Contains(MousePosition))
            {
                button2_Click(sender, e);
            }
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2016, 14:26
Помогаю со студенческими работами здесь

Сделать textBox активным
Как сделать так, чтобы приведенный ниже метод задалбывал пользователя до тех пор, пока он не введет достаточное количество символов? ...

Сделать приложение активным при наведении курсора
Activate() не помогает. Весь эффект от него - на панели задач значок приложения начинает мигать. И хэндл моего приложения остаётся...

Как сделать активным приложение при выходе из трея C#
сворачиваю через notifyIcon в трей, потом при двойном щелчке: private void notifyIcon1_MouseDoubleClick(object sender,...

Сделать активным окно другой программы используя WinAPI
Мне нужно узнать дeскриптор дрyгого oкна и сдeлать его aктивным, с помощью ЕnumWindowsProc и BringWindowTоTop. Как с ними работать? ...

Как сделать активным элемент по нажатию на него?
Использую Bootstrap 3. Есть вот такой список: <div class="list-group" > <div class="media" *ngFor="let user of users"> ...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru