C#实现QQ窗口抖动效果
IT-Xu_LongTeng 人气:0实现界面:
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; }
加载全部内容