말할 필요도없이, 내 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
.
감사합니다.
페이드가 진행되는 동안 폼의 배경색이 어떻게보고됩니까? LightSalmon이 아닌 경우 투명도 색상을 각 타이머 틱의 새 배경색으로 업데이트 할 수 있습니까? – Xav
폼 BackColor 속성은 FadeIn 및 FadeOut 프로세스 전체에서 LightSalmon에 유지됩니다. – Jasoomian