나는 (적어도 나를 위해) 다소 힘들어하는 것을 가지고있다. 나는 그걸 알아 내려고 많은 시간을 보냈다. C# winform 응용 프로그램이 있습니다. 응용 프로그램에서 나는 서로의 상단에 웹 페이지를 쌓을 수 있도록 투명한 색상으로 서로 위에 여러 웹 페이지를 제시해야합니다. 웹 페이지에 백 컬러가 지정되지 않도록하고, WebBrowser 컨트롤을 TransparentcyKey 및 BackgroundColor가 설정된 별도의 WinForm에 배치하면 쉽게 할 수 있습니다. 화이트. 여러 양식을 열면 투명하게 동작하고 필요한 효과를 얻습니다..NET에서 사용자 컨트롤의 투명한 웹 브라우저
오픈 모양과 같은 형태의 힙을 가지고있는 것은 제 의견으로는 단지 내가 원하는 것보다 더 지저분한 것입니다. 따라서 내 생각은 UserControl에 넣고 거기에 필요한 논리를 추가하거나 단순히 웹 브라우저에서 기능을 상속하고 무시하는 것입니다. 그러나 UserControl은 폼과 같은 투명성 키를 노출시키지 않으므로 초기에는 막 다른 길입니다. UserControl에서 WndProc를 재정 의하여 직접 페인트를 처리해도 아무런 효과가없는 것 같습니다. 그것은 WebBrowser가 실제로 액세스 할 수없는 것과 같습니다. 아마 랩된 ActiveX라는 것과 관련이 있습니다.
파생 된 WeBrowser 또는 WebBrowser가있는 UserControl을 가질 수없는 경우 누구나 폼을 처리 할 수있는 방법에 대한 제안 사항이 없으므로 배치 할 때 클리핑과 관련하여 사용자 컨트롤과 같은 역할을합니다. "어머니"형태의 맨 위에 있습니까?
최저 Ragards 프란츠 톰센
안녕 Sheng 내 질문에 대한 답변을 주셔서 대단히 감사합니다. 참조하는 예제는 솔루션을 볼 수있는 한 구현합니다. 크기, 위치 등을 따르는 WinForm이있는 곳을 설명합니다. 나는 scollbars 등이 필요하고 양식을 클립해야 할 때 꽤 해결책이 아닙니다. SetLayeredWindowAttributes 및 UpdateLayeredWindow에 대해 작성한 내용은 상당히 흥미 롭습니다.하지만 어떻게 사용할 수 있는지 잘 모르겠습니다. 내 문제와 관련된 모든 사례를 알고 계십니까? 감사합니다 .-) 최고 감사합니다 Franz Thomsen –
예쁜 해결책은 없습니다. WPF 예제와 WinFOrm 투명도는 모두 SetLayeredWindowAttributes/UpdateLayeredWindow를 호출하여 구현해야합니다. –