我想知道如何在C#中更改或修改Panel的透明度,而不是整个表单,但仅限于面板..我在Opacity上看过很多C#教程,但是它用于Form.我正在寻找仅限Panel的可能性.谢谢!
我正在尝试优雅地实现一种方法来动画(平移,淡化)控件(可能同时多于一个).例如,假设我左上角有一张图片,右下角有一个文本框,我希望能够让它们平滑地滑过窗口并切换位置.我已经工作了一段时间,但没有想出任何能够顺利或轻松实现这一目标的东西.
我想构建一个Control支持Opcacity属性的派生类.
这个控件既可以托管文本也可以托管图像,并且可以将它们淡出和放入.
这是我的代码:
internal class FadeControl : Control
{
private int opacity = 100;
public FadeControl()
{
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
public int Opacity
{
get
{
return opacity;
}
set
{
if (value > 100) opacity = 100;
else if (value < 1) opacity = 1;
else opacity = value;
if (Parent != null)
Parent.Invalidate(Bounds, true);
}
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle = cp.ExStyle | 0x20;
return cp; …Run Code Online (Sandbox Code Playgroud)