C#实现简化QQ聊天窗口
作者:小白你咋让人拴住了 时间:2023-01-18 19:01:20
本文实例为大家分享了C#实现简化QQ聊天窗口的具体代码,供大家参考,具体内容如下
如图样式,详细步骤如下
整个窗体设置
private void Form1_Load(object sender, EventArgs e)
{
this.BackColor = Color.Chocolate;//设置窗体背景颜色
this.Text = "与张某正在聊天...";//设置窗体文本内容
this.Size = new Size(450,400);//设置窗体大小
//设置窗体在工作区居中显示
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width/2-this.Width/2,Screen.PrimaryScreen.WorkingArea.Height/2-this.Height/2) ;
}
添加两个textbox分别为聊天内容与输入框;
添加两个button分别为抖一抖与发送;
抖动事件
private void button1_Click(object sender, EventArgs e)
{ //抖动事件
int x = this.Left;
int y = this.Top;
for (int n = 0; n < 3; n++)
{ //添加using System.Threading;
this.Location = new Point(x - 3, y);
Thread.Sleep(20);//挂起20毫秒
this.Location = new Point(x - 3, y - 3);
Thread.Sleep(20);
this.Location = new Point(x, y - 3);
Thread.Sleep(20);
this.Location = new Point(x + 3, y - 3);
Thread.Sleep(20);
this.Location = new Point(x + 3, y + 3);
Thread.Sleep(20);
this.Location = new Point(x, y + 3);
Thread.Sleep(20);
this.Location = new Point(x - 3, y + 3);
Thread.Sleep(20);
this.Location = new Point(x - 3, y);
Thread.Sleep(20);
this.Location = new Point(x, y);
}
}
发送事件
private void button2_Click(object sender, EventArgs e)
{ //发送时间
if (textBox2.Text!="")//当输入栏不为空内容时
{ //textbox1内容等于textbox1原本内容(聊天记录)+现在的时间+发话人+textbox2的输入内容
textBox1.Text = textBox1.Text + DateTime.Now + "\r\n" + "李某:"+textBox2.Text+"\r\n";
textBox2.Text= "";//清空输出框
}
}
添加滚动条
private void textBox1_TextChanged(object sender, EventArgs e)
{
//在textbox1属性设置scrollbars滚动条显示
//滚轮显示最后一行
this.textBox1.SelectionStart = this.textBox1.Text.Length;
this.textBox1.ScrollToCaret();
//设置lcon类型图标
}
添加键盘事件
(Enter实现发送功能)
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{ //在输入框内添加键盘事件,Enter实现发送功能
if (e.KeyCode == Keys.Enter)
{
button2_Click(sender, e);
}
}
来源:https://blog.csdn.net/weixin_44024993/article/details/105443352
标签:C#,QQ,聊天窗口
0
投稿
猜你喜欢
java设计模式--三种工厂模式详解
2023-11-29 09:54:06
Java反射机制在Spring IOC中的应用详解
2023-11-10 14:09:32
MyBatis的 config.xml标签
2021-07-18 02:01:34
@CacheEvict 清除多个key的实现方式
2023-11-21 08:28:04
Spring与Shiro整合及加载权限表达式问题
2023-10-01 09:29:50
Android界面一键变灰开发深色适配模式编程示例
2021-11-25 04:22:25
Android实战教程第九篇之短信高效备份
2022-02-14 12:59:20
灵活使用Android中ActionBar和ViewPager切换页面
2022-07-08 17:20:09
iOS WebView中使用webp格式图片的方法
2023-06-17 22:06:03
java实现斗地主发牌功能
2022-01-14 14:27:32
Jmeter post上传文件实现过程详解
2022-01-09 14:02:28
逆转交替合并两个链表的解析与实现
2021-12-31 12:37:41
mybatis QueryWrapper的条件构造之apply、last、select解析
2022-02-12 17:32:51
Android 通过Base64上传图片到服务器实现实例
2021-10-09 20:46:53
JDBC实现学生管理系统
2023-01-22 13:22:19
Java的Socket网络编程基础知识入门教程
2021-11-19 10:10:37
深入理解Java中的克隆
2023-03-14 02:59:14
C# 中const,readonly,static的使用小结
2022-05-16 20:39:58
C#自定义函数NetxtString生成随机字符串
2022-06-18 20:43:39
java复制文件和java移动文件的示例分享
2023-09-17 08:18:06