0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
1

Как изменить цвет TabControl в зависимости от выбора вкладки?

19.12.2012, 22:54. Показов 25732. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго здоровица. Помогите пожалуйста. Суть такая, я в этом новый человек и только учусь. Взялся делать дипломную работу (из области судовождения). Делаю несколько влкдок через элемент tabControl, в одной вкладке я меня цвет всей формы, но поверх самой формы находится tabControl, и получается, что цвет не меняется. А суть работы состоит в том, что создаю программу по расхождению с целями (судами), где главное окно (будет вкладка) - это как бы локатор, куда я забиваю координаты самой цели (направление и расстояние), и потом программа рекомендует маневр, но с этим я потом в дальнейшем буду разбираться. Вообщем думаю интересно это все и пока вникаю. Спасибо.
0
19.12.2012, 22:54
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2012, 22:54
Ответы с готовыми решениями:

[WPF] Как изменить цвет вкладки в TabControl?
Можно ли сделать так, чтобы при нажатии на кнопку менялся цвет вкладки. Пояснение: делаю типа тест, всё уже сделано, есть там кнопка...

TabControl. Как поменять цвет вкладки?
Задача: На форме расположить компонент tabcontrol с тремя вкладками при смене вкладки, вкладка красится в рандомный цвет. Как...

Как изменить цвет TabControl?
Добрый день! Помогите, пожалуйста изменить цвет TabControl. А то TabPage получается, а TabControl никак не могу.

15
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
22.12.2012, 15:58  [ТС] 2
Наверно я некорректно поставил вопрос либо задачу)
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
22.12.2012, 18:55 3
Действительно, из того, что вы написали, очень сложно понять, чего вы хотите. Попробую наугад. У любого класса, унаследованного от класса Control, есть свойство Background, при помощи которого можно менять цвет фона контрола. Как сам TabControl, так и каждая его вкладка имеют это свойство.
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
22.12.2012, 22:05  [ТС] 4
Вобщем я как делаю. Создал TabControl, в одной из влкадок создал несколько кнопок, каждая кнопка меняет цвет фона всей программы, но у меня меня только задний план. Просто не получается сделать так, чтобы этот самый tabControl был с главной формой одно целое.

Добавлено через 34 минуты
На данный момент у меня как то так. Я пока еще мало в чем разбираюсь, но стараюсь понять всю эту систему.

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
51
52
53
54
55
56
57
58
59
60
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Maneuver
{
    public partial class maneuver : Form
    {
        public maneuver()
        {
            InitializeComponent();         
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }
 
        private void tabPage1_Click(object sender, EventArgs e)
        {
           
        }
 
        private void view_Click(object sender, EventArgs e)
        {
 
        }
 
        
        private void Day_1_Click(object sender, EventArgs e)
        {
            
            BackColor = Color.White;
        }
 
        private void Day_2_Click(object sender, EventArgs e)
        {         
            BackColor = Color.DarkGray;
        }
 
 
        private void night_1_Click(object sender, EventArgs e)
        {
            
            BackColor = Color.Gray;
        }
 
        private void night_2_Click(object sender, EventArgs e)
        {
            BackColor = Color.Black;
        }
 
      
    }
 
    }
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
23.12.2012, 05:42 5
Для начала попробуйте добавить к форме обработчик события BackColorChanged:
C#
1
2
3
4
private void Form1_BackColorChanged(object sender, EventArgs e)
{
    TabControl1.BackColor = BackColor;
}
Здесь при зименении заднего фона окна мы меняем цвет заднего фона таб контрола. Если потребуется, прийдется с таб пейджом сделать то же самое. Нет сейчас C# под рукой, не могу поэкспеременитровать самостоятельно.
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
23.12.2012, 07:53  [ТС] 6
А куда добавить? А то пишет, что tabControl не существует в текущем контексте. В разные места прописывал уже.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
23.12.2012, 09:29 7
Вообще - это событие, которое возникает при изменении свойство BackColor у вашей формы. То есть выбираете в дизайнере форму, в свойствах открываете вкладку событий, ищите там событие BackColorChanged, жмете на нем 2 раза, и пишете в нем тот код, который я привел.
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
23.12.2012, 19:17  [ТС] 8
Че то не получается. Пробовал так, просто не срабатывает, потом еще пробовал в разные места прописывать. Ошибок нету, но так же цвет меняется за окном которые надо (т.е. в форме, а она получается за всей этой tabcontrol)
0
Почетный модератор
 Аватар для Памирыч
23243 / 9153 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
23.12.2012, 20:02 9
kodv, Mindhunter, зачем вы целиком цитируете друг друга? Кроме вас тут больше нет никого, и так понятно, с кем вы разговариваете. Замечание.
1
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
24.12.2012, 08:53 10
Говорю же, у TabPage тоже есть такое свойство. Тогда попробуйте так:
C#
1
2
3
4
5
private void Form1_BackColorChanged(object sender, EventArgs e)
{
    TabControl1.BackColor = BackColor;
    TabControl1.SelectedPage.BackColor = BackColor;
}
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
24.12.2012, 20:11  [ТС] 11
Спасибо большое за помощь, чуть другим путем пошел, посложнее. Но пока так.
0
 Аватар для DESIER
2 / 2 / 0
Регистрация: 02.11.2013
Сообщений: 27
15.11.2015, 13:33 12
Что то я не понял. У TabControl нет свойства BackColor, оно есть только в его вкладках (TabPage).
0
6 / 5 / 3
Регистрация: 04.06.2015
Сообщений: 250
Записей в блоге: 1
17.03.2017, 16:41 13
Товарищи! Смежный вопрос по теме.
Подскажите кто-нибудь, как можно фон самого tabControl1 (не tabPage) сделать прозрачным ну или хотя бы цвет задать, если прозрачность он не поддерживает? Т.к. у tabControl1 нет свойста BackColor и вообще каких либо свойств, связанных с цветом. У меня tabControl1 с двумя вкладками, они одного цвета, а вот фон за ними мне не нужен, хочу убрать как-нибудь...

Добавлено через 10 минут
Заметил одну особенность. Когда в свойстве Appearence стоит Normal, то фон как раз прозрачный, как мне нужно, дело в том, что мне нужно, чтоб вкладки выглядели как кнопки, т.е. как при свойстве Appearence = FlatBattons. Но при этом свойстве фон становится не прозрачным, а цельным вот такая вот гонка по вертикали...
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
17.03.2017, 16:45 14
Cha1000000, попробуйте нестандартный контрол, унаследованный от TabControl http://stackoverflow.com/quest... nt-tabpage
0
6 / 5 / 3
Регистрация: 04.06.2015
Сообщений: 250
Записей в блоге: 1
21.03.2017, 16:31 15
Спасибо, предложенный вариант интересный, но делает не совсем то, что мне нужно. Попробовал проделать так же. Да, получилось, но результат - фон вокруг табпейджа стал прозрачным, а мне же нужно, чтоб при свойстве самого контрола свойстве Appearence = FlatBattons (верхушки вкладок становятся в виде кнопок), фон полоски, на которой расположены эти верхушки вкладок в виде кнопок, был прозрачным. Вот при свойстве Appearence = Normal эта полоска как раз таки прозрачная (правда если там еще одно свойство изменить, не помню какое именно), но почему-то при тех же настройках с Appearence = FlatBattons, эта полоска быть такой же прозрачной не хочет.

Добавлено через 1 час 32 минуты
Ещё заметил один раздражающий эффект: при наведении курсора на заголовок вкладок, они мигают, и когда проводишь курсором мимо него, получается эффект мерцания заголовка вкладки... Это дико раздражает Каким свойством это отключить пока не нашел... Может кто-то знает?
0
8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157
24.02.2018, 10:42 16
Ребята подскажите, как сделать вот такую вещь. У меня есть TabControl, у него две вкладки (TabPage). Содержимое на самих вкладках (TabPage) одинаковое, различие только в заголовке вкладки, ну например, вкладка "Зима" и "Осень". И когда кликаю по вкладкам, то цвет заголовка вкладки меняется, становится немного светлее, но это не очень заметно, можно ли сделать так, что при клике на вкладку, именно заголовок вкладки становился красным или каким то другим цветом, чтоб четко было видно какая вкладка выбрана. Заранее спасибо!
0
24.02.2018, 10:42
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2018, 10:42
Помогаю со студенческими работами здесь

Как кодом изменить цвет фона всех закладок в TabControl
У меня имеется объект TabControl и его вкладки TabPage у меня их почти 40 штук, как мне 1 строчкой изменять цвет фона сразу у всех...

Активность кнопки в зависимости от выбранной вкладки в TabControl
возникло такие 2 вопроса: 1-е - на форме есть клавиша и табконтрол (с двумя вкладками), нужно чтобы при выборе 1 вкладки клавиша была...

Отображение label в зависимости от выбранной вкладки TabControl
Здравствуйте. Я создал приложение WindowsForm. На нем разместил tabControl с тремя Вкладками и 3 Label, которые лежат вне этого tabControl....

Как изменить цвет вкладки при наведении курсора?
Здравствуйте! Как изменить цвет вкладки при наведении на нее курсором? Напр. вкладка серого цвета, а при наведении на нее становится белой,...

WTL: CTabView. Как изменить шрифт и цвет заголовка вкладки?
На форме есть CTabView для дин. создания вкладок. Вкладка основана на диалоге, где расположен ListView. Необходимо проанализировать...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Linux API: Полное руководство
hw_wired 08.02.2025
Linux API – это низкоуровневый программный интерфейс, обеспечивающий взаимодействие пользовательских приложений с ядром операционной системы. Он включает набор системных вызовов, библиотечных функций. . .
Асинхронное программировани­­­­­е и эмуляция async/await в C (СИ)
hw_wired 08.02.2025
Язык программирования C, несмотря на свой возраст, предоставляет неплохие средства для реализации асинхронных операций, позволяя создавать эффективные решения для обработки параллельных задач. В. . .
Как сгенерировать случайное число в указанном диапазоне в JavaScript
bytestream 08.02.2025
В JavaScript генерация случайных чисел основана на детерминированном алгоритме, который создает последовательность псевдослучайных значений. Встроенный метод Math. random() возвращает псевдослучайное. . .
Как получить список всех таблиц в PostgreSQL
bytestream 08.02.2025
PostgreSQL предлагает несколько методов для получения списка таблиц в базе данных. Наиболее распространенный способ - использование системного каталога pg_tables, который содержит информацию обо всех. . .
Java Spring для начинающих
bytestream 08.02.2025
Spring Framework - это универсальное решение для создания корпоративных Java-приложений. Он предоставляет комплексную программную и конфигурационную модель для современных приложений на Java. Spring. . .
Асинхронное программировани­­­­­­е и async/await в Visual Basic
bytestream 08.02.2025
В основе асинхронного программирования в Visual Basic лежит концепция неблокирующего выполнения операций. Когда программа встречает длительную операцию, например, чтение большого файла или запрос к. . .
Async/await и асинхронное программировани­­е в Delphi
bytestream 08.02.2025
Асинхронное программирование является неотъемлемой частью разработки современных приложений, позволяя создавать отзывчивые и эффективные программы. В Delphi реализация асинхронности опирается на. . .
Асинхронное программировани­­­­­е и async/await в C#
bytestream 08.02.2025
Асинхронное программирование - концепция, позволяющая приложениям эффективно выполнять длительные операции без блокировки основного потока выполнения. В контексте современной разработки на C# это. . .
Асинхронное программировани­­­­­е и горутины/каналы в Go
bytestream 08.02.2025
Язык Go изначально разрабатывался с учетом современных многоядерных процессоров и необходимости эффективного параллельного выполнения задач. В отличие от традиционных подходов к асинхронному. . .
Как восстановить stash в Git
hw_wired 08.02.2025
Git stash - это средство для временного сохранения изменений в рабочей директории. В процессе разработки часто возникают ситуации, когда нужно быстро переключиться на другую задачу, но текущие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru