这篇文章主要为大家详细介绍了C#实现QQ窗口抖动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C#实现QQ窗口抖动效果的具体代码,供大家参考,具体内容如下
实现界面:
1. 两个textbook和两个Button
2. NotifyIcon控件是实现托盘
实现代码:
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "聊天窗口";
button1.Text = "抖动";
button2.Text = "发送";
this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
textBox1.ReadOnly = true;
//获取焦点在textBox2上面用来发送消息
textBox2.TabIndex = 0;
x = this.Left;
y = this.Top;
//设置窗口中某个按钮可以同Enter键进行控制效果
this.AcceptButton = button2;
}
int x, y;
int t=30, space = 3;
private void Button1_Click(object sender, EventArgs e)
{
for (int i=0;i<2 ;i++ )
{
this.Location = new Point(x - space, y);
Thread.Sleep(t);
this.Location = new Point(x - space, y - space);
Thread.Sleep(t);
this.Location = new Point(x, y - space);
Thread.Sleep(t);
this.Location = new Point(x + space, y - space);
Thread.Sleep(t);
this.Location = new Point(x + space, y);
Thread.Sleep(t);
this.Location = new Point(x + space, y + space);
Thread.Sleep(t);
this.Location = new Point(x, y + space);
Thread.Sleep(t);
this.Location = new Point(x - space, y + space);
Thread.Sleep(t);
this.Location = new Point(x - space, y);
Thread.Sleep(t);
this.Location = new Point(x, y);
}
}
private void Button2_Click(object sender, EventArgs e)
{
if (String.IsNullOrWhiteSpace(textBox2.Text)==false)
{
textBox1.Text += DateTime.Now + "\r\n" + textBox2.Text + "\r\n";
textBox2.Text = "";
}
}
//resize窗口尺寸变动
private void Form1_Resize(object sender, EventArgs e)
{
//最小化到系统托盘
if (this.WindowState==FormWindowState.Minimized)
{
this.ShowInTaskba=false;
}
}
//Close关闭窗口
private void NotifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.ShowInTaskba=true;
this.WindowState=FormWindowState.Normal;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。