在做一个功能的时候,需要在右下角弹出一个提示窗口,像QQ那样的,找 了以前写的看了看,发现在任务栏高度发生变化时窗体会被遮盖住,这是因为窗体弹出的位置是控制在屏幕的右下角的,如果任务栏的高度发生变化,则窗体就会被遮盖,这样就需要在弹出窗体 的时候知道任务栏的高度,从而动态的控制窗体距离屏幕的距离。网上查了一些方法,感觉太复杂,于是根据自己的想法实现了这个功能,先用着,方法可能有点笨,不过还是实现了想要的效果。以下是实现方法:
新建一个窗口,设置窗体的各项属性shwoInTaskbar为false,maximizebox为false,minimizebox为false等
放置两个timer控件分别对两个timer控件写事件如下:
//timer1用于实现渐显效果
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Opacity == 1) //如果窗体透明度为100%停止记时
{
this.timer1.Stop();
}
else //否则窗体透明度加0.05,直到为1
{
this.Opacity = this.Opacity + 0.05;
}
}
//timer2用于关闭时出现渐隐效果
private void timer2_Tick(object sender, EventArgs e)
{
i