2011-08-17 7 views
1

말할 필요도없이, 내 GooglFu는 약하다.형태가 페이드 인/아웃 될 때 투명한 색상 키 '표시'

배경이 비대칭 인 작은 WinForm이 있습니다. 이 이미지를 수용하기 위해 양식 자체가 이미지 자체보다 약간 큽니다.

LightSalmon뿐만 아니라 양식의 TransparencyKey로 설정된 배경색이 있습니다.

이 코드를 게시하는 것이 필요하다고 생각하지 않습니다. (이 코드는 CodeProject에서 온 것이라고 생각합니다.)이 경우에도이 코드를 포함 시켰습니다.

FadeIn

:

private void opTimer_Tick(object sender, EventArgs e) 
    { 
     if (opacityIncrease > 0) 
     { 
      if (this.Opacity < 1) 
       this.Opacity += opacityIncrease; 
     } 
     else 
     { 
      if (this.Opacity > 0) 
       this.Opacity += opacityIncrease; 
      else 
       this.Close(); 
     } 
    } 

페이드 아웃이 (formClosing 이벤트 호출)

public void FadeForm() 
    { 
     opacityIncrease = -opacityDecrease; 
    } 

코드는 양식과 페이드 아웃 될 때 문제가있다, 그것은 정상적으로 작동하지만. 폼이 페이드 인 할 때, 폼 배경을 볼 수 있습니다. 그 끔찍한 LightSalmon입니다. 양식이 완전 불투명도에 도달하면 배경은 실제로 완전히 투명합니다.

페이드 인/아웃 중에 TransparentKey 색상 (양식 배경)을 투명하게 유지하는 방법이 있습니까?

가장 쉬운 해결책은 전체 TransparencyKey 비즈니스에 신경 쓸 필요없이 양식 배경 이미지를 양식에 맞게 변경하는 것입니다. 그러나 저는 사용하고있는 이미지가 마음에 들지만 분명히 ShowStopper는 아닙니다. 그것을 다른 것으로 바꾸는 것. VS2008를 사용

, 필요한 경우 어떤 후속 질문에 대답 행복 언제나 .NET 3.5

.

감사합니다.

+0

페이드가 진행되는 동안 폼의 배경색이 어떻게보고됩니까? LightSalmon이 아닌 경우 투명도 색상을 각 타이머 틱의 새 배경색으로 업데이트 할 수 있습니까? – Xav

+0

폼 BackColor 속성은 FadeIn 및 FadeOut 프로세스 전체에서 LightSalmon에 유지됩니다. – Jasoomian

답변

0

Fadeout \ Fadein이 픽셀 값을 변경하여 투명 키와 같지 않을 수도 있습니다.

동등한 경우에만 다시 투명 해집니다.

가능한 경우 LightSalmon Area를 포함하지 않기 위해 페이드 아웃/인 섹션 경계를 설정하십시오. 동일한 픽셀 값으로 유지되고 항상 투명한 상태를 유지해야합니다.

+0

입력 브루어를 가져 주셔서 감사합니다. 안타깝게도, 제안을 구현할 수있는 기회가 생기기 전에 앱 (내부는 공개 됨)이 공개되어야했습니다. 다음 번에 내가 말한 앱에서 일할 수있는 기회를 얻었을 때 나는 좋은 올레핀에 대한 대답을 해줄 것이고, 내가 일할 수 있는지 알게 될 것이다. 다시 한번 감사드립니다. – Jasoomian

관련 문제