Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/47: Рейтинг темы: голосов - 47, средняя оценка - 4.89
0 / 0 / 2
Регистрация: 23.10.2011
Сообщений: 154

Сделать границы кнопки прозрачными

02.06.2014, 18:41. Показов 9290. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Друзья,возникла необходимость запихнуть внутрь кнопки элемент (линию или прямоугольник )Я вчера задал вопрос тут и мне помогли,за что огромное спасибо !
Но почему-то внутренности кнопки по дефолту закрашиваются серым цветом.но не беда ,внутренности кнопки залил прозрачным.А вот границы самой кнопки,к сожалению остаются. Выглядит все это как прозрачные квадраты с линией внутри.
Вопрос,собсно,в том ,как убрать эти границы у кнопки или сделать их прозрачными ?

Добавлено через 19 минут
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
 var buttons = Enumerable.Range(0, 1000).Select(s =>
             {
                StackPanel stk = new StackPanel();
                Line line = new Line ();
                line.Stroke = Brushes.Red;
                line.X1 = 1;
                line.X2 = 100;
                line.Y1 = 1;
                line.Y2 = 100;
                stk.Children.Add(line);
                var btn = new Button();
                btn.Background = Brushes.Transparent;
                Width = ChildrenWidth;
                Height = ChildrenHeight;
                btn.Content = stk;
                return btn;
            }).ToArray();
 
           
            // Добавляем кнопку в коллекцию
            foreach (var btn in buttons)
                collection.Add(btn);
            // возвращаем коллекцию
            return collection;
        }
Добавлено через 5 часов 23 минуты
C#
1
btn.BorderBrush = Brushes.Transparent;
нашел вот такое решение. Правильно ли ?

Добавлено через 23 минуты
И еще попутно вдогонку вопрос : можно как-то изменить цвет фона при наведении курсора на кнопку ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2014, 18:41
Ответы с готовыми решениями:

Как сделать так, чтобы границы дочерней формы не "уходили" за границы родительской
Всем доброго времени суток! Возник следующий вопрос. Создаю MDI-приложение. Есть родительская форма и, соответственно, дочерняя. Как...

Как сделать кнопки прозрачными
имеются кнопки с фоновым изображением. Сами они относительно окна прозрачные, то есть меняю цвет окна, и фон кнопки меняется.. но вот как...

Как сделать чтобы кнопки были не прозрачными:
У меня такая проблема кнопки на панели управления на половину прозрачные, как сделать чтобы они были не прозрачными?

24
0 / 0 / 2
Регистрация: 23.10.2011
Сообщений: 154
04.06.2014, 20:12  [ТС]
Студворк — интернет-сервис помощи студентам
Spawn,

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
 stk.Children.Add(line);
                var btn = new Button();
                btn.Name = "btn1";
                btn.Click += btn1_Click;
                btn.MouseDown += btn1_MouseDown;
                
                Width = ChildrenWidth;
                Height = ChildrenHeight;
                btn.Content = stk;
                
 
                
                return btn;
            }).ToArray();
 
           
            // Добавляем кнопку в коллекцию
            foreach (var btn in buttons)
                collection.Add(btn);
            // возвращаем коллекцию
            return collection;
        }
 
       
       
 
        private void btn1_MouseDown(object sender, MouseButtonEventArgs e)
        {
            MessageBox.Show("Well done bro!");
        }
      
 
        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Button's name is: Line!");
        }
        
    }
А почему событие с кликом обрабатывается , MouseDown - нет ?
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
04.06.2014, 20:25
Цитата Сообщение от евг Посмотреть сообщение
А почему событие с кликом обрабатывается , MouseDown - нет ?
На уровне ButtonBase переопределено. Туннельные (Preview*) версии событий можете использовать, например.
0
0 / 0 / 2
Регистрация: 23.10.2011
Сообщений: 154
04.06.2014, 21:08  [ТС]
Spawn, что то я не совсем понял ...

Добавлено через 28 минут
я что-то кучу разных методов перепробовал..никак сообразить не могу...
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
04.06.2014, 22:01
евг, на PreviewMouseDown подпишитесь, поймаете.
1
0 / 0 / 2
Регистрация: 23.10.2011
Сообщений: 154
04.06.2014, 23:29  [ТС]
Spawn, почитал еще у Макдоналда про туннельные события.Мне только остался непонятенсам процесс описания механизма перемещения. Что внутри у

C#
1
2
3
4
private void btn1_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            MessageBox.Show("button1_MouseDown");
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2014, 23:29

Gradient или как сделать теневые границы у кнопки
Привет всем, я создаю тестовое приложение под Android и у меня образовался вопрос по дизайну: как сделать границу-тень у кнопки,такую как в...

Сделать часть изображения(фон) прозрачными
Я пролистал много тем, но что-то подобного не нашел. У меня есть картинка (точнее много, очень много), они вызываются в pictureBox в...

Как сделать окно с прозрачными областями
Собственно вопрос в самой шапке... Как сделать полностью прозрачное окно? Именно прозрачное при Opacity = 100%... FormBorderStyle = none...

Как сделать прозрачными основания цилиндра?
Нашел реализацию цилиндра на python + open gl. Хотелось бы понять, что тут отвечает за прозрачность и как сделать оба основания...

Как сделать таблицы и поля едит прозрачными?
Подскажите как сделать поля(скриншот) прозрачными так же поля едит


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru