C#實(shí)現(xiàn)簡(jiǎn)化QQ聊天窗口
本文實(shí)例為大家分享了C#實(shí)現(xiàn)簡(jiǎn)化QQ聊天窗口的具體代碼,供大家參考,具體內(nèi)容如下
如圖樣式,詳細(xì)步驟如下
整個(gè)窗體設(shè)置
private void Form1_Load(object sender, EventArgs e) ? ? ? ? { ? ? ? ? ? ? this.BackColor = Color.Chocolate;//設(shè)置窗體背景顏色 ? ? ? ? ? ? this.Text = "與張某正在聊天...";//設(shè)置窗體文本內(nèi)容 ? ? ? ? ? ? this.Size = new Size(450,400);//設(shè)置窗體大小 ? ? ? ? ? ? //設(shè)置窗體在工作區(qū)居中顯示 ? ? ? ? ? ? this.Location = new ?Point(Screen.PrimaryScreen.WorkingArea.Width/2-this.Width/2,Screen.PrimaryScreen.WorkingArea.Height/2-this.Height/2) ; ? ? ? ? }
添加兩個(gè)textbox分別為聊天內(nèi)容與輸入框;
添加兩個(gè)button分別為抖一抖與發(fā)送;
抖動(dòng)事件
private void button1_Click(object sender, EventArgs e) ? ? ? ? { ? //抖動(dòng)事件 ? ? ? ? ? ? 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); ? ? ? ? ? ? } ? ? ? ? }
發(fā)送事件
private void button2_Click(object sender, EventArgs e) ? ? ? ? { ? ?//發(fā)送時(shí)間 ? ? ? ? ? ? if (textBox2.Text!="")//當(dāng)輸入欄不為空內(nèi)容時(shí) ? ? ? ? ? ? { ? //textbox1內(nèi)容等于textbox1原本內(nèi)容(聊天記錄)+現(xiàn)在的時(shí)間+發(fā)話人+textbox2的輸入內(nèi)容 ? ? ? ? ? ? ? ? textBox1.Text = textBox1.Text + DateTime.Now + "\r\n" + "李某:"+textBox2.Text+"\r\n"; ? ? ? ? ? ? ? ? textBox2.Text= "";//清空輸出框 ? ? ? ? ? ? } ? ? ? ? }
添加滾動(dòng)條
private void textBox1_TextChanged(object sender, EventArgs e) ? ? ? ? { ? ? ? ? ? ? //在textbox1屬性設(shè)置scrollbars滾動(dòng)條顯示 ? ? ? ? ? ? //滾輪顯示最后一行 ? ? ? ? ? ? this.textBox1.SelectionStart = this.textBox1.Text.Length; ? ? ? ? ? ? this.textBox1.ScrollToCaret(); ? ? ? ? ? ? //設(shè)置lcon類型圖標(biāo) ? ? ? ? }
添加鍵盤事件
(Enter實(shí)現(xiàn)發(fā)送功能)
private void textBox2_KeyDown(object sender, KeyEventArgs e) ? ? ? ? { ?//在輸入框內(nèi)添加鍵盤事件,Enter實(shí)現(xiàn)發(fā)送功能 ? ? ? ? ? ? if (e.KeyCode == Keys.Enter) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? button2_Click(sender, e); ? ? ? ? ? ? } ? ? ? ? }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
無(wú)法從 int? 轉(zhuǎn)換為 int 運(yùn)行時(shí)出現(xiàn)錯(cuò)誤
無(wú)法從"int?"轉(zhuǎn)換為"int" ,在運(yùn)行時(shí)會(huì)出現(xiàn)錯(cuò)誤,通過(guò)強(qiáng)制類型轉(zhuǎn)換(int)便可解決2014-05-05C#中public變量不能被unity面板識(shí)別的解決方案
這篇文章主要介紹了C#中public變量不能被unity面板識(shí)別的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04c# AcceptEx與完成端口(IOCP)結(jié)合的示例
這篇文章主要介紹了c# AcceptEx與完成端口(IOCP)結(jié)合的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#對(duì)XmlHelper幫助類操作Xml文檔的通用方法匯總
該篇文章主要總結(jié)的是自己平時(shí)工作中使用頻率比較高的Xml文檔操作的一些常用方法和收集網(wǎng)上寫的比較好的一些通用Xml文檔操作的方法,對(duì)C#?XmlHelper幫助類操作Xml文檔相關(guān)知識(shí)感興趣的朋友一起看看吧2022-03-03在Unity中實(shí)現(xiàn)動(dòng)畫的正反播放代碼
這篇文章主要介紹了在Unity中實(shí)現(xiàn)動(dòng)畫的正反播放代碼,非常的實(shí)用,這里推薦給大家,希望大家能夠喜歡。2015-03-03C#實(shí)現(xiàn)ComboBox控件顯示出多個(gè)數(shù)據(jù)源屬性的方法
這篇文章主要介紹了C#實(shí)現(xiàn)ComboBox控件顯示出多個(gè)數(shù)據(jù)源屬性的方法,實(shí)例分析了ComboBox控件的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09