仿QQ会员右下角提示框c#实现
来源:互联网 发布:阿里云 ecs 是iaas 编辑:程序博客网 时间:2024/04/29 23:38
为了不让大家再误会,我在这里声明,我做的是在登录后的提示,只要大家用过QQ,Q会员开通过就知道 的,
先看一下效果吧
说一下实现 吧,
第一步是先把QQ会员 便当 的框给截图下来,然后放到Ps里P一下,需要做到这样就行了,看图片
caozuo有两个值一个是 load表示要向不透明方向增加量,也就是说会慢慢看清楚,还有一个close 表示要向透明方向增加量,这样会慢慢的看不到窗体,我是用一个Timer来处理的
这样只要caozuo的值发生变化的时候 就会向某个方向开始增加渐变显示 的量
当鼠标进入的时候我是这样处理的
这样的话就会在原来的基础上加量,也就是说如果快不显示了,当鼠标移动进入窗体时就双会慢慢的显示,当移开的时候我是这样处理的
这样就双会启动定时关闭窗体,我的定时是6秒大家可以随便改的效果就是这样实现的
因为我的窗体 是没有标题栏的这样就不能拖动了, 很不方便,拖动窗体的方法有很多,我是这样实现 的,
关于这个内容 可以参考 我的文章
拖动无标题窗体的方法
http://www.cckan.net/forum.php?mod=viewthread&tid=68
先看一下效果吧
说一下实现 吧,
第一步是先把QQ会员 便当 的框给截图下来,然后放到Ps里P一下,需要做到这样就行了,看图片
第二步,可以在上面加一 些Lable就行了,关闭按钮是两个图片,切换的方法是这样的
private
void
pictureBox1_MouseLeave(
object
sender, EventArgs e)
{
pictureBox1.BackgroundImage = ClientSystem.Properties.Resources.lgintop;
}
//图片进入事件
private
void
pictureBox1_MouseEnter(
object
sender, EventArgs e)
{
pictureBox1.BackgroundImage = ClientSystem.Properties.Resources.lgintop1;
}
第三步,IP的取法我就不说了有很多,还有上面的4.0的测试这些都 是加上的新闻,只要启动浏览器就行了,
启动的方法是
//系统官网
private
void
label7_Click(
object
sender, EventArgs e)
{
Process.Start(
"http//www.cckan.net/"
);
}[/code]
第四步,说一下渐变显示 的效果的处理方法
[mw_shl_code=csharp,
true
]代码
//界面加载
private
void
Messages_Load(
object
sender, EventArgs e)
{
try
{
//让窗体加载时显示到右下角
int
x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - 255;
int
y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - 161;
this
.SetDesktopLocation(x, y);
//加载显示信息
ShowComptureInfo();
//渐变显示这里表示加载
caozuo =
"load"
;
this
.Opacity = 0;
}
catch
(Exception)
{
}
}
//定时处理渐变的效果
private
void
timer2_Tick(
object
sender, EventArgs e)
{
if
(caozuo ==
"load"
)
{
this
.Opacity += 0.09;
}
else
if
(caozuo ==
"close"
)
{
this
.Opacity =
this
.Opacity - 0.09;
if
(
this
.Opacity == 0)
this
.Close();
}
}
当鼠标进入的时候我是这样处理的
//进入窗体事件
private
void
Messages_MouseEnter(
object
sender, EventArgs e)
{
//停止定时关闭
timer1.Enabled =
false
;
//开始渐变加载
caozuo =
"load"
;
}
//窗体离开事件
private
void
Messages_MouseLeave(
object
sender, EventArgs e)
{
timer1.Enabled =
true
;
}
//定时关闭窗体
private
void
timer1_Tick(
object
sender, EventArgs e)
{
timer2.Enabled =
true
;
caozuo =
"close"
;
//关闭窗体
}
因为我的窗体 是没有标题栏的这样就不能拖动了, 很不方便,拖动窗体的方法有很多,我是这样实现 的,
private
bool
isMouseDown =
false
;
private
Point FormLocation;
//form的location
private
Point mouseOffset;
//鼠标的按下位置
//鼠标安下
private
void
Messages_MouseDown(
object
sender, MouseEventArgs e)
{
try
{
if
(e.Button == MouseButtons.Left)
{
isMouseDown =
true
;
FormLocation =
this
.Location;
mouseOffset = Control.MousePosition;
}
}
catch
(Exception)
{
}
}
//鼠标移动
private
void
Messages_MouseMove(
object
sender, MouseEventArgs e)
{
try
{
int
_x = 0;
int
_y = 0;
if
(isMouseDown)
{
Point pt = Control.MousePosition;
_x = mouseOffset.X - pt.X;
_y = mouseOffset.Y - pt.Y;
this
.Location =
new
Point(FormLocation.X - _x, FormLocation.Y - _y);
}
}
catch
(Exception)
{
}
}
//鼠标松开
private
void
Messages_MouseUp(
object
sender, MouseEventArgs e)
{
try
{
isMouseDown =
false
;
}
catch
(Exception)
{
}
}
拖动无标题窗体的方法
http://www.cckan.net/forum.php?mod=viewthread&tid=68
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
using
ClientSystem.ClientSystemServices;
using
BaseFunction;
using
System.Diagnostics;
namespace
ClientSystem
{
/// <summary>
/// 提示窗体 苏飞
/// </summary>
public
partial
class
Messages : Form
{
public
Messages()
{
InitializeComponent();
}
//营业厅完整信息
public
OfficeInfo OfficeInfo {
get
;
set
; }
#region //私有变量和方法
private
ClientSystemServices.Service1SoapClient user =
new
Service1SoapClient();
//显示登录用户的计算机信息
public
void
ShowComptureInfo()
{
//CUP
//label9.Text = ComputerInfo.GetCpuID();
//硬盘
//label26.Text = ComputerInfo.GetDiskID();
//IP
lblIP.Text = ComputerInfo.GetIPAddress();
//上次登录IP
lbloldIP.Text = ComputerInfo.GetIPAddress();
//用户名
lblUser.Text = OfficeInfo.ofLogin +
" 商户欢迎您"
;
//计算机名称
//label21.Text = ComputerInfo.GetComputerName();
//操作系统
//label23.Text = ComputerInfo.GetSystemType();
//当前用户
//label25.Text = ComputerInfo.GetUserName();
}
#endregion
//界面加载
private
void
Messages_Load(
object
sender, EventArgs e)
{
try
{
//让窗体加载时显示到右下角
int
x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - 255;
int
y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - 161;
this
.SetDesktopLocation(x, y);
//加载显示信息
ShowComptureInfo();
//渐变显示这里表示加载
caozuo =
"load"
;
this
.Opacity = 0;
}
catch
(Exception)
{
}
}
//关闭按钮
private
void
pictureBox1_Click(
object
sender, EventArgs e)
{
this
.Close();
}
//图片离开事件
private
void
pictureBox1_MouseLeave(
object
sender, EventArgs e)
{
pictureBox1.BackgroundImage = ClientSystem.Properties.Resources.lgintop;
}
//图片进入事件
private
void
pictureBox1_MouseEnter(
object
sender, EventArgs e)
{
pictureBox1.BackgroundImage = ClientSystem.Properties.Resources.lgintop1;
}
//修改密码
private
void
label6_Click(
object
sender, EventArgs e)
{
ChangePwd frm =
new
ChangePwd();
frm.OfficeInfo =
this
.OfficeInfo;
frm.Show();
}
//系统官网
private
void
label7_Click(
object
sender, EventArgs e)
{
Process.Start(
"http://www.smxzc.com/"
);
}
#region//拖动无标题窗体
private
bool
isMouseDown =
false
;
private
Point FormLocation;
//form的location
private
Point mouseOffset;
//鼠标的按下位置
//鼠标安下
private
void
Messages_MouseDown(
object
sender, MouseEventArgs e)
{
try
{
if
(e.Button == MouseButtons.Left)
{
isMouseDown =
true
;
FormLocation =
this
.Location;
mouseOffset = Control.MousePosition;
}
}
catch
(Exception)
{
}
}
//鼠标移动
private
void
Messages_MouseMove(
object
sender, MouseEventArgs e)
{
try
{
int
_x = 0;
int
_y = 0;
if
(isMouseDown)
{
Point pt = Control.MousePosition;
_x = mouseOffset.X - pt.X;
_y = mouseOffset.Y - pt.Y;
this
.Location =
new
Point(FormLocation.X - _x, FormLocation.Y - _y);
}
}
catch
(Exception)
{
}
}
//鼠标松开
private
void
Messages_MouseUp(
object
sender, MouseEventArgs e)
{
try
{
isMouseDown =
false
;
}
catch
(Exception)
{
}
}
#endregion
//定时关闭窗体
private
void
timer1_Tick(
object
sender, EventArgs e)
{
timer2.Enabled =
true
;
caozuo =
"close"
;
//关闭窗体
}
//进入窗体事件
private
void
Messages_MouseEnter(
object
sender, EventArgs e)
{
//停止定时关闭
timer1.Enabled =
false
;
//开始渐变加载
caozuo =
"load"
;
}
//窗体离开事件
private
void
Messages_MouseLeave(
object
sender, EventArgs e)
{
timer1.Enabled =
true
;
}
string
caozuo =
""
;
//定时处理渐变的效果
private
void
timer2_Tick(
object
sender, EventArgs e)
{
if
(caozuo ==
"load"
)
{
this
.Opacity += 0.09;
}
else
if
(caozuo ==
"close"
)
{
this
.Opacity =
this
.Opacity - 0.09;
if
(
this
.Opacity == 0)
this
.Close();
}
}
}
}
0 0
- 仿QQ会员右下角提示框c#实现
- 如何用c#实现仿QQ会员右下角提示框
- 仿QQ会员右下角提示框c#实现
- 仿QQ会员右下角提示框c#实现,提示窗体不获得焦点
- jquery 实现仿QQ右下角弹出框
- qq右下角信息提示框的实现
- javascript仿QQ右下角提示消息
- C# 模仿QQ右下角 消息闪烁提示
- wpf实现仿qq消息提示框
- 实现右下角提示框
- C#仿QQ皮肤-Windows消息提示框窗体MessageBoxForm的实现
- java实现页面最小化后桌面右下角出现提示框(跟QQ提示一样)
- js实现右下角提示框
- winforms实现类似QQ消息框一样的右下角消息提示窗口
- WinForm:实现类似QQ消息框一样的右下角消息提示窗口
- winforms实现类似QQ消息框一样的右下角消息提示窗口
- winforms实现类似QQ消息框一样的右下角消息提示窗口
- Java实现屏幕右下角弹出类QQ提示消…
- Unity性能优化文章收集
- 17-2-4 统计单词个数的错误程序
- EL表达式出现乱码问题!
- POJ2965解题报告(BFS,位压缩)
- request、response 中文乱码问题与解决方式
- 仿QQ会员右下角提示框c#实现
- 第十六周 OJ:分数序列2/1, 3/2, 5/3, 8/5, 13/8, …
- 开源免费的C/C++网络库(c/c++ sockets library)
- Android Launcher分析和修改3——Launcher启动和初始化
- 配置Paoding分词时出现的错误:java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementTo
- MAC libXmL2安装指南
- java HashMap 循环遍历map的方法
- dede开发网上报名简单示例
- Android Bluetooth