47 / 42 / 12
Регистрация: 27.08.2012
Сообщений: 290
1

Как сделать System.Windows.Forms.Panel прозрачной

28.03.2013, 13:11. Показов 2875. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Баловался с редактором форм, и получилось так, что Panel была на форме прозрачной, т.е. Была дыра в форме, и через неё можно было смотреть на рабочий стол. Но это было давно. А вот, пригодилось, а как это сделать, уже не помню.
Может быть кто-нибудь напомнит мне? Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2013, 13:11
Ответы с готовыми решениями:

Как в System.Windows.Forms сделать отступ слева и справа?
Что написать чтобы было как на втором скрине? (в Paint переместил кнопку)

System.Drawing и System.Windows.Forms -- как их соединить в одно окно
Вопрос следующий: есть программа, она делится на две части - одна графика, другая текстовое окно. В...

Что за классы System, System.Drawing, System.Windows.Forms
Народ, объясните пожалуйста что за классы: System, System.Drawing, System.Windows.Forms. В справке...

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX,...

6
349 / 288 / 49
Регистрация: 15.11.2012
Сообщений: 477
Записей в блоге: 1
28.03.2013, 13:27 2
serёга, вот. В общем то этим способом можно делать прозрачными любые объекты которые не поддерживают прозрачный цвет (Transparent).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{$apptype windows}
{$reference 'System.Windows.Forms.dll'}
{$reference 'System.Drawing.dll'}
 
uses
  System.Windows.Forms,
  System.Drawing;
  
var
  MainForm: Form;
  P: Panel;
  
begin
  P := new Panel;
  P.BackColor := Color.Crimson; {Закрашиваем панель "левым цветом"}
  
  MainForm := new Form;
  MainForm.TransparencyKey := Color.Crimson; {Задаём цвет отображаемый прозрачным на форме.}
  
  MainForm.Controls.Add(P);
  
  Application.Run(MainForm);
end.
1
47 / 42 / 12
Регистрация: 27.08.2012
Сообщений: 290
28.03.2013, 13:44  [ТС] 3
Спасибо! То что нужно. А можно наложить Graphics на эту прозрачную панель и нарисовать, ну к примеру прямоугольник, на прозрачном фоне?
0
349 / 288 / 49
Регистрация: 15.11.2012
Сообщений: 477
Записей в блоге: 1
28.03.2013, 13:46 4
serёга, честно говоря не знаю, но вроде должно работать. Главное прямоугольник не рисовать тем цветом, который вы делали прозрачным.
0
47 / 42 / 12
Регистрация: 27.08.2012
Сообщений: 290
28.03.2013, 13:59  [ТС] 5
Работать должно, только не работает. И цвет другой брал, разумеется.
0
349 / 288 / 49
Регистрация: 15.11.2012
Сообщений: 477
Записей в блоге: 1
28.03.2013, 14:27 6
Цитата Сообщение от serёга Посмотреть сообщение
Работать должно, только не работает.
Приведите код.
0
47 / 42 / 12
Регистрация: 27.08.2012
Сообщений: 290
28.03.2013, 14:34  [ТС] 7
Pascal
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
{$apptype windows}
{$reference 'System.Windows.Forms.dll'}
{$reference 'System.Drawing.dll'}
 
uses
  System.Windows.Forms,
  System.Drawing;
  
var
  MainForm: Form;
  P: Panel;
  g: Graphics;
  
begin
MainForm := new Form;
MainForm.TransparencyKey := Color.AliceBlue;
 
  P := new Panel;
  P.BackColor := Color.AliceBlue; 
  MainForm.Controls.Add(P);
 
  
  g:=Graphics.FromHwnd (p.Handle);
  g.DrawRectangle (new Pen (Color.Red),2,2,50,50);
  
  
  Application.Run(MainForm);
end.
0
28.03.2013, 14:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2013, 14:34
Помогаю со студенческими работами здесь

Как нарисовать прямоугольник в System.Windows.Forms?
Вот код, который сделан неумелым пользователем на System.Windows.Forms и System.Drawing: ...

Как в System.Windows.Forms задать форме фиксированный размер?
Как сделать так, чтобы пользователь не мог изменять форму написанную на System.Windows.Forms?...

Как делать надписи в форме при использовании System.windows.forms
Здраствуйте! Создаю форму, но незнаю как сделать надписи над полем ввода. Поиск в интернет...

System.Drawing и System.Windows.Forms
Гуглил команды для модулей System.Drawing и System.Windows.Forms, но ничего не нашёл. Дадите пж...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru