Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
1
.NET 4.x

Изменение цвета элементов формы при нажатии кнопки ready и print

11.09.2019, 21:32. Показов 1702. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго вечера,

Есть форма vb.net в ней помимо таблиц две кнопки ready и print, при нажатии этих кнопок ready записывает в базу, а print соответственно печатает. Нужно что бы при нажатии одной из этих кнопок цвет элементов формы менялся на зеленый.
Как лучше это прописать?

элементы такие
VB.NET
1
2
3
4
Me.FormElement.Border.ForeColor = Color.Green
Me.FormElement.Border.InnerColor = Color.Green
gb.Bottom.BackColor = Color.Green
Me.FormElement.Border.Width = 3
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2019, 21:32
Ответы с готовыми решениями:

Изменение цвета кнопки при ее нажатии
Как сделать,чтобы при нажатии на кнопку она изменила свой цвет в visual studio 2010?

Изменение цвета кнопки при ее нажатии
На форме есть несколько кнопок. При нажатии на кнопку запускается метод fun, в который передается...

Изменение цвета кнопки при нажатии
Подскажите, пожалуйста, как сделать так, что бы цвет кнопки при наведении был одним, а при нажатии,...

Изменение цвета фона при нажатии кнопки
Привет всем!) Такой вопрос - как в Паскале указать на нажатие определенной кнопки на клавиатуре? ...

13
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
12.09.2019, 07:34 2
ArtoFin, а что это за элементы такие - FormElement и gb?
0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 07:38  [ТС] 3
Хм, ок... подскажите как написать функцию с параметрами для изменения цвета рамки формы при нажатии одной из двух этих кнопок
0
259 / 212 / 52
Регистрация: 01.08.2016
Сообщений: 823
12.09.2019, 08:45 4
ArtoFin, Вот так будут меняться цвета всех контролов на форме в зависимости от нажатой кнопки
VB.NET
1
2
3
4
5
6
7
8
9
10
11
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For Each cntr As Control In Me.Controls
            cntr.BackColor = Color.Green
        Next
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        For Each cntr As Control In Me.Controls
            cntr.BackColor = Color.Red
        Next
    End Sub
Добавлено через 11 минут
А если по одной кнопке то так
VB.NET
1
Button1.BackColor = Color.Red
0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 08:59  [ТС] 5
К сожалению это не то, спасибо. Лучше использовать функцию где будет прописано отслеживание нажатия кнопок и параметры изменения цвета. И она уже будет вызываться в самих кнопках. Внутри формы, значит private. Если у кого Триесте пример похожей реализацией ткните носом...
0
2094 / 1505 / 390
Регистрация: 26.06.2017
Сообщений: 4,307
12.09.2019, 09:24 6
Не пойму почему так не хотите.
VB.NET
1
2
3
4
5
6
Private Sub ready_Click(sender As Object, e As EventArgs) Handles ready.Click
  Me.FormElement.Border.ForeColor = Color.Green
  Me.FormElement.Border.InnerColor = Color.Green
  gb.Bottom.BackColor = Color.Green
  Me.FormElement.Border.Width = 3
End Sub
Добавлено через 5 минут
Ну, или так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub ChangeColor (Byval col As Color)
  Me.FormElement.Border.ForeColor = Col
  Me.FormElement.Border.InnerColor = Col
  gb.Bottom.BackColor = Col
  Me.FormElement.Border.Width = 3 'тут ХЗ
End Sub
 
Private Sub ready_Click(sender As Object, e As EventArgs) Handles ready.Click
  ChangeColor(Color.Green)
  ...
End Sub
 
Private Sub print_Click(sender As Object, e As EventArgs) Handles print.Click
  ChangeColor(Color.Red)
  ...
End Sub
0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 09:30  [ТС] 7
Это уже есть, хотел перенести все в функцию и вызывать ее в кнопках.
1. Кнопка Ready - после нажатия записывает данные в базу + окрашивает элементы формы в зелёный, но если пользователь редактирует данные в полях цвет элементов формы меняется на оранжевый.
2. Кнопка Print - при нажатии на неё элементы формы становятся зелёные как и у кнопки ready. После печати цвет формы возвращается в дефолтный.
0
2094 / 1505 / 390
Регистрация: 26.06.2017
Сообщений: 4,307
12.09.2019, 09:40 8
Цитата Сообщение от ArtoFin Посмотреть сообщение
но если пользователь редактирует данные в полях цвет элементов формы меняется на оранжевый
Тогда вызов ChangeColor(Color.Orange) нужно делать в обработчике события изменения данных в поле соответствующего элемента(ов) формы.
По второму пункту аналогично, сначала красим в зелень, а после всех директив печати в "дефолтный". Всё это также через вызов ChangeColor(Цвет).
0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 09:50  [ТС] 9
Добавил ваши изменения, работает., подскажите как возвратку к дефолтному сделать? Почему все таки функцию не использовать?
0
2094 / 1505 / 390
Регистрация: 26.06.2017
Сообщений: 4,307
12.09.2019, 10:02 10
Цитата Сообщение от ArtoFin Посмотреть сообщение
как возвратку к дефолтному сделать?
Посмотрите в свойствах элемента, какой цвет у Вас установлен "дефолтным". Например цвет формы по умолчанию =System.Drawing.SystemColors.Control. Вот и укажите его.
Цитата Сообщение от ArtoFin Посмотреть сообщение
Почему все таки функцию не использовать?
Что эта функция должна будет вернуть результатом своего выполнения?
0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 10:13  [ТС] 11
Функция вызывается выполняет проверку нажата ли кнопка, если нажата окрашивает форму. Не?
0
Лень — мое второе и
3220 / 2410 / 685
Регистрация: 28.11.2014
Сообщений: 3,596
Записей в блоге: 3
12.09.2019, 10:24 12
ArtoFin, заведите логическую переменную и меняйте её значение при нажатии на кнопку, далее от её значения вызываете процедуру с тем или иным цветом
0
2094 / 1505 / 390
Регистрация: 26.06.2017
Сообщений: 4,307
12.09.2019, 10:27 13
Общий принцип работы ООП приложений основан на генерации и обработке событий. Грубо так: если пользователь что-то сделал, то приложение на это отреагировало, и наоборот если пользователь ничего не делает, то и приложение ничего не выполняет. В реалиях конечно не так, но для понимания общих принципов работы думаю понятно.
Ответа на мой вопрос относительно результата функции я не увидел.

Не по теме:

Совет: почитайте любую книжку по программированию ООП, тогда многие вещи станут понятны.

0
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 15
12.09.2019, 15:13  [ТС] 14
Спасибо всем за помощь! Все работает! Обязательно приму к сведению. 😊
0
12.09.2019, 15:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2019, 15:13
Помогаю со студенческими работами здесь

Изменение цвета кисти, при нажатии кнопки
Имеется наипростейший "графический редактор". Вообщем нужно сделать, так что бы при нажатии...

При нажатии на кнопку изменение цвета заднего фона ДРУГОЙ кнопки
Не знаю, с чем это связанно, но через обычное button2.BackColor = Color.Indigo; при событии...

Изменение цвета и шрифта кнопок формы при нажатии на кнопку
Изменение цвета и шрифта кнопок формы при нажатии на кнопку

Изменение положения формы при нажатии кнопки
На форме есть кнопка jump. Как сделать так, чтобы при нажатии на неё один раз окно меняло место...


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

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