Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2011, 20:44   #1
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
Вопрос Активность вкладок

Доброго времени суток!
Вопрос у меня такой. Имею форму, на которой расположен tabControl с тремя tabPage(tabPage1, tabPage2, tabPage3), пользователь вводит данные на первой вкладке, какое свойство отвечает за то, чтобы две другие вкладки были не активны, пока пользователь на первой, не введет то, что нужно. Как осуществить проверку введенных данных, я знаю, интересует именно активность вкладки. По умолчанию не активная, а данные введены, становиться активная. У самого tabControl, как и у всех контролов, это свойство enabled, но оно делает неактивными все вкладки, а мне нужно, только некоторые, а в этом конкретном случае, 2 и 3.

Буду рад помощи, заранее благодарен!
maryan.vetrov вне форума Ответить с цитированием
Старый 06.03.2011, 22:08   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

попробуйте...tabPage1.enabled.... ...
dampirik вне форума Ответить с цитированием
Старый 07.03.2011, 02:45   #3
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
По умолчанию

Цитата:
Сообщение от dampirik Посмотреть сообщение
попробуйте...tabPage1.enabled.... ...
Нет такого свойства у tabPage
maryan.vetrov вне форума Ответить с цитированием
Старый 07.03.2011, 10:05   #4
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

ну так можно: имеется 3 tabPage. на tabPage1 есть TextBox1 пустой. сделал так пока в TextBox1 не введешь какой нибудь текст tabPage2 и tabPage3 не откроются.
Код:
 private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
        {
            if (textBox1.Text == "")
            {
             if (e.TabPageIndex == 1 | e.TabPageIndex == 2)// если выбираем 2ю и 3ю вкладки 
            {
                e.Cancel = true;
            }
            }
           
        
        }
у tabControl1 свойство Selecting.
wm_leviathan вне форума Ответить с цитированием
Старый 07.03.2011, 14:04   #5
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
По умолчанию

Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
ну так можно: имеется 3 tabPage. на tabPage1 есть TextBox1 пустой. сделал так пока в TextBox1 не введешь какой нибудь текст tabPage2 и tabPage3 не откроются....

у tabControl1 свойство Selecting.
Спасибо, это действительно вариант и он работает.
Но может всетаки есть вариант, как сделать так, чтобы они были не активными, т.е. бледными и не реагировали на нажатие. Для пользователя, такой вариант более понятен интуитивно, пока не ввел данные в поле, вкладки бледные и неактивные, ввел, становяться яркие и активные, и это сразу заметно.

Буду рад любым соображениям на сей счет.
maryan.vetrov вне форума Ответить с цитированием
Старый 07.03.2011, 16:09   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

НУ конечно можно менять цвет шрифта для неактивных вкладок,использовать .Selected и т.д. Но проще всего использовать сторонние бесплатные компоненты,например:TabcontrolEx. Скачиваешь длл,открываешь Студию,в ней: Tools->Choose Toolbox Items, на вкладке .NET Framework Components выбираешь Browse, указываешь длл. Напротив TabControlEX ставишь галочку. Ну а потом как обычно: С Toolbox кидаешь на форму TabcontrolEx и используешь,как обычные TabControl, только функций больше,например,у TabPageEx1 есть поле Enabled.))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 07.03.2011, 16:32   #7
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
Сообщение от maryan.vetrov Посмотреть сообщение
Спасибо, это действительно вариант и он работает.
Но может всетаки есть вариант, как сделать так, чтобы они были не активными, т.е. бледными и не реагировали на нажатие. Для пользователя, такой вариант более понятен интуитивно, пока не ввел данные в поле, вкладки бледные и неактивные, ввел, становяться яркие и активные, и это сразу заметно.

Буду рад любым соображениям на сей счет.
никак на сколько я знаю. хоть и tabpage наследует от tabControl'a но все же такого свойства у него нету. возьми поставь MessageBox() когда юзер нажимает на "неактивную вкладку". будет просто и понятно.
ЗЫ даже в MSDN нету про неактивность вкладок tabControl'a
PSS ну или .... Скарам правду говорит используй сторонние компоненты. правда мне до сих пор не понятно такая, на мой взгляд недороботка этого компонента, в делфи куда все проще.
ЗЫЫЫ кстати tabPage.Enabled = true\false работает хоть и не так как надо, она делает на данной вкладке все контроллы неактивными, честно бред полнейший мне руками не лень прописать.

Последний раз редактировалось wm_leviathan; 07.03.2011 в 16:38.
wm_leviathan вне форума Ответить с цитированием
Старый 07.03.2011, 18:43   #8
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
По умолчанию

Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
никак на сколько я знаю. хоть и tabpage наследует от tabControl'a но все же такого свойства у него нету. возьми поставь MessageBox() когда юзер нажимает на "неактивную вкладку". будет просто и понятно.
ЗЫ даже в MSDN нету про неактивность вкладок tabControl'a
PSS ну или .... Скарам правду говорит используй сторонние компоненты. правда мне до сих пор не понятно такая, на мой взгляд недороботка этого компонента, в делфи куда все проще.
ЗЫЫЫ кстати tabPage.Enabled = true\false работает хоть и не так как надо, она делает на данной вкладке все контроллы неактивными, честно бред полнейший мне руками не лень прописать.
Полностью с тобой согласен. Бред и еще раз бред, такое нужное свойство и нету. tabPage.Enabled = true\false я поробовал с самого начала, методом тыка так сказать, и был удивлен, что студия не ругалась, хотя вроде как свойства такого нет, а поскольку у меня на ентих вкладках в этот момент никаких контролов не было, то у меня ничего и не произошло, вкладка открывалась, как не в чем не бывало. Ну а раз ты говоришь, что так все контролы становятся не активными на вкладке, бред еще раз.

В общем благодарю всех за помощь, буду пробовать использовать сторонние компоненты.
maryan.vetrov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Активность Кнопки daruwanov Win Api 2 09.09.2010 08:48
C#: Активность соединения Veiron Общие вопросы .NET 4 04.06.2009 23:10
Паранормальная активность Nemez Операционные системы общие вопросы 19 26.08.2008 14:45
Активность формы BanDit Общие вопросы Delphi 2 27.12.2007 21:40
Активность кнопки в БД alikon1 БД в Delphi 5 08.10.2007 17:21