2010-05-01 2 views
1

Я успешно сделал обычную прозрачную форму, обработав свойство OPACITY.Как сделать MDIChild прозрачным?

Теперь я хочу сделать MDIChild (загруженный в MDIParent) прозрачным. Это возможно? Я применил тот же метод (упомянутый выше) для MDIChild. Но он был бессознательным.

Возможно ли сделать MDIChild tranparent. Кто-нибудь это делал раньше?

Любой hekp будет оценен по достоинству. Спасибо.

ответ

0

Нет. Формы детей MDI не поддерживают прозрачность.

+0

Есть ли какие-либо хакерские приемы, чтобы я мог имитировать то же самое. Как насчет инъекционного кода? это может сделать какую-то работу? – abhilashca

+2

Нет хаков, Windows API просто не поддерживает его. Только окна TopLevel, такие как родительский MDI, могут иметь свойство TransparencyKey или Opacity. –

+0

Я прошел через 2 потока в MSDN. a) http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/30e73869-58cb-4f01-b539-174ce2ad8e0f b) http://social.msdn.microsoft.com/ Форумы/en-US/vclanguage/thread/954ff6f4-88d2-4b6b-ac10-dcf0b94627e1 , который рассказывает о прозрачности MDI. Есть идеи? Благодарю. – abhilashca

0

Вы можете использовать Region.

this.Region = this.CreateNewRegion(); 
// ... 
private Region CreateNewRegion() { 
    var points = new Point[] { new Point(0,0), new Point(20,0), new Point(30, 50) }; 
    var path = new System.Drawing.Drawing2D.GraphicPath(); 
    path.AddPolygon(points); 
    var region = new Region(path); 
    return region; 
} 
0

Вы можете попробовать назначая MdiParent переменной формы, установите MdiParent свойство MDIChild к NULL, а затем применить технику, чтобы сделать его прозрачным . Я не знаю, будет ли это работать

Смежные вопросы