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

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

11.11.2016, 13:31. Показов 5704. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru