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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2010, 18:37   #1
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию Кнопки как RadioButton'ы в GroupBox'e. Как реализовать?

Вот есть у меня 4 кнопки (Button) в GroupBox'e мне надо, чтобы при нажатии на одну из них, она становилась нажатой, а остальные не нажатыми, желательно, чтобы их краёв вообще видно не было, нажимаю на другую кнопку, то она теперь как бы вдавлена, а остальные нет. Это в делфи делалось проще простого, а здесь не знаю как бы так сделать. Дело в том,что помимо этих 4, есть ещё кнопки и когда по любой из этих остальных кнопок нажмёшь, то одна из мне нужных 4-ёх теряет фокус и опять не понять какая из них по идее выбрана.





Что-то типа этого должно получиться. Кто нибудь знает как это делается на шарпе. В принципе можно было бы реализовать, но думаю там мудрить придёться много чего.
Casper-SC вне форума Ответить с цитированием
Старый 02.03.2010, 20:38   #2
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

делать нечего... могу помочь, но только за $$$, бесплатно я могу только описать как это реализовать
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 02.03.2010, 21:47   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Опиши хотя бы я в принципе не прошу прям исходниками. Вообще сам всегда стараюсь выложить результат решения проблемы, ведь зачем тогда этот форум?
Casper-SC вне форума Ответить с цитированием
Старый 02.03.2010, 23:07   #4
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Ну можно поменять при нажатии бардюр у кнопки, ее форму, картинку на ней .. что придаст эфект нажатости))
бутом.енаблед=фальш; - не дает нажимать на кнопку....
dampirik вне форума Ответить с цитированием
Старый 02.03.2010, 23:16   #5
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

Всё тебе необходимое реализовываеться с помощью контрола ToolStrip. Поиграйся с ним
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558

Последний раз редактировалось Arnezami; 02.03.2010 в 23:26.
Arnezami вне форума Ответить с цитированием
Старый 03.03.2010, 00:23   #6
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Цитата:
Сообщение от dampirik Посмотреть сообщение
Ну можно поменять при нажатии бардюр у кнопки, ее форму, картинку на ней .. что придаст эфект нажатости))
бутом.енаблед=фальш; - не дает нажимать на кнопку....
Нет, ну то что я щас пишу я бы не смог написать, если бы не знал элементарного. Про Бордер я думал, но не, то на кнопке после нажатия остаётся фокус, можно его конечно программно убирать сразу, но помоему это как-то не правильно, хочу программировать более профессионально. Если я сделаю кнопку неактивной "енаблед=фальш", то как я на ней потом нажму? Нет это к сожалению не подходит.

Цитата:
Сообщение от Arnezami
Всё тебе необходимое реализовываеться с помощью контрола ToolStrip. Поиграйся с ним
Я как-то с ним "игрался", так кнопки у него не менялись размером почему-то и всегда оставались где нибудь слева например, если горизонтально тул стрип расположен. Надо будет попробовать. Но сомневаюсь, что на этот раз получиться, хотябы скажите, что сделать надо, чтобы на тул стрипе можно было перемещать кнопки произвольно и менять их размер.

Последний раз редактировалось Casper-SC; 03.03.2010 в 00:25.
Casper-SC вне форума Ответить с цитированием
Старый 03.03.2010, 00:35   #7
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

ну не знаю как произвольно, но чтобы изменить их размер нужно найти в Property ImageScalingSize и после этого добавлять кнопки. Как изменять картинки мне не нужно надеюсь объяснять.

Этот контрол кажись требует обязаетельного добавления в контейнер, можно использовать или Panel или GroupBox, это уже по усмотрению и в конткесте поставленной задачи! Чтобы изменить положение контрола или изменить его размеры нужно установить параметр AutoSize в False

Чтобы изменить его прилегание к разным частям контейнера достаточно изменить параметр Dock (Позволит установить его сбоку как у Вас на картинке)

Чтобы изменить установить эффект "Зажатой" кнопки, нужно после добавления кнопки установить в параметре Checked значение True

Ну и для того чтобы сделать полностью как вы хотите (В плане дизайна)
меняеться параметр RenderMode (Установите его на System). Для связки с другими кнопками может можно и средствами студии сделать, но мне кажеться это маловероятным, нужно разбираться. Так что Пишите кодом. Алгоритм радиобоксов надеюсь Вам знаком, или их можно найти с помощью дядюшки Гугла)))

P.S Надеюсь моя информация была полезна, неоткажусь от благодарности в виде повышения рейтинга)))
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 03.03.2010, 01:19   #8
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

И в правду работает, спасибо за помощь, прям как мне и нужно было. Нет в Панель ТулСтрип запихать не удалось, его вообще перемещать можно только по ТулСтрип контейнеру.

===============================

Кстати на одном форуме подсказали вообще простейшее решение. Надо у RadioButton менять свойство "Appearance" ну автосайз и FlatStyle поменять ещё желательно и получается почти, что я хотел.

Последний раз редактировалось Casper-SC; 03.03.2010 в 14:16.
Casper-SC вне форума Ответить с цитированием
Старый 03.03.2010, 21:26   #9
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
Восклицание

Цитата:
Сообщение от Casper-SC Посмотреть сообщение
И в правду работает, спасибо за помощь, прям как мне и нужно было. Нет в Панель ТулСтрип запихать не удалось, его вообще перемещать можно только по ТулСтрип контейнеру.

===============================

Кстати на одном форуме подсказали вообще простейшее решение. Надо у RadioButton менять свойство "Appearance" ну автосайз и FlatStyle поменять ещё желательно и получается почти, что я хотел.
У меня в панель отлично добавляеться))
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 06.03.2010, 20:07   #10
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Цитата:
Сообщение от MaeBee Посмотреть сообщение
Да, действительно. Это было и со мной. Давайте обсудим этот вопрос.
Что-то я не понял, что было и с тобой? Панель не добавлялась?
У меня вот такой вопрос появился по этой же теме:
Код:
            foreach (ToolStripButton tsBtn in this.toolStrip1.Items)
            {
                tsBtn.CheckedChanged += new EventHandler(tsBtn_CheckedChanged);
            }
Вот такой код на подписывание события кнопкам, но если в тул стрип добавить, что-то другое, то не работает код, как проверять, чтобы подписывались только именно кнопки на тул стрип?

Цитата:
Не удалось привести тип объекта "System.Windows.Forms.ToolStripLabe l" к типу "System.Windows.Forms.ToolStripButt on".
Это текст ошибки
Casper-SC вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать интерполяцию? must_to_dont Microsoft Office Excel 14 15.12.2010 18:39
как это реализовать dulaev Microsoft Office Excel 12 26.01.2010 18:13
Как реализовать? jojahti Общие вопросы C/C++ 3 15.10.2009 16:05
Как Как проверить кнопки мыши без OnMouseDown? Вадим Буренков Общие вопросы Delphi 3 22.05.2009 15:08
Как реализовать ASin Romanus Общие вопросы C/C++ 2 16.04.2007 09:46