Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 12
1

Рисование на прозрачном фоне формы

03.10.2013, 18:26. Просмотров 1133. Ответов 1
Метки нет (Все метки)

Приветствую.
Возникла проблема с рисованием на прозрачном фоне формы.
Создал простую форму. Сделал её фон прозрачным посредством TransparencyKey. Но таким образом форма перестаёт отлавливать событие MouseClick, т.е. клик мышью активирует то, что находится за формой.
Способ со свойством Opacity также не даёт нужно результата, т.к. всё нарисованное на такой форме имеет такую же прозрачность.
Можно ли каким-то образом обойти данные ограничения.
Код формы:
Кликните здесь для просмотра всего текста
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
public partial class Form1 : Form
    {
        public Form1()
        {
            //BackColor = Color.Black;
            //TransparencyKey = Color.Black;
            //Opacity = 0.10;
            
            TopMost = true;
 
            InitializeComponent();
 
            this.Activated += new EventHandler(OnActivated);
            this.Deactivate += new EventHandler(OnDeactivate);
            this.MouseClick += new MouseEventHandler(PaintingDot);
        }
 
        private void OnActivated(object sender, System.EventArgs e)
        {
            FormBorderStyle = FormBorderStyle.FixedSingle;
        }
 
        private void OnDeactivate(Object sender, EventArgs e)
        {
            FormBorderStyle = FormBorderStyle.None;
        }
 
        private void PaintingDot(object sender, MouseEventArgs e)
        {
            Graphics graf = CreateGraphics();
            graf.FillEllipse(Brushes.Red, e.X, e.Y, 10, 10); // толщина кисти
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2013, 18:26
Ответы с готовыми решениями:

Рисование на фоне
Пытаюсь рисовать на форме, не на pickture box, напишите пример как добавить фоновую картинку...

TLabel без обводки на прозрачном фоне формы (TransparentColor:= true)
Доброго дня. Подскажите пожалуйста компонент аналогичный TLabel (или возможно сам TLabel с...

скругленные уголки на прозрачном фоне
Существует множество способов создания скругленных уголков для блоков, но практически все они имеют...

Текст с прокруткой на прозрачном фоне....
Можно ли сделать компонент Memo прозрачным??...Или привязать к Label ScrollBar???..... В общем,...

1
5 / 5 / 0
Регистрация: 21.10.2012
Сообщений: 101
04.10.2013, 05:05 2
ColR_iT, а если поместить picturebox на форму, сделать док fill и все события формы переписать для picbox, далее очищаете picbox прозрачным цветом и рисуете что вам нужно

Добавлено через 7 минут
также можно создать битмап, очищать его прозрачным цветом и на нем рисовать, а за тем в конце присваивать свойству формы BackGroungImage этот битмап
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2013, 05:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Текст метки на прозрачном фоне
Всем день добрый. Кто знает оптимальный способ, как сделать, чтобы текст в QLabel выводился на...

Корявые символы на прозрачном фоне.
Имеется форма, допустим, белого цвета. На форме установлен Label с прозрачным фоном. В свойстве...

Декоративный элемент на прозрачном фоне
привет! необходимо сверстать блок с рамкой и цифрой-картинкой. вся проблема в том, если рамку...

Как сделать картинку на прозрачном фоне?
Добрый день, web-мастеры! Мне нужно сделать такую картинку, чтобы фона у нее не было. Допустим,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.