C#實現簡單的聊天窗體
本文實例為大傢分享瞭C#實現簡單的聊天窗體的具體代碼,供大傢參考,具體內容如下
一、要使用(學習)到的知識點
1、textBox控件
(1)功能:允許用戶輸入文本,並提供多行編輯和密碼字符掩碼功能
(2)它右什麼屬性?
①Multiline
表示獲取或設置一個值,該值指示這是否為多行textBox控件
textBox2.Multiline = true;//意思就是將textbox2設置為可以多行顯示
②TabIndex
表示獲取或設置控件在其容器內的Tab鍵順序
textBox2.TabIndex = 0;//將光標定位到 textBox2框中
③Text
表示獲取或設置與此控件關聯的文本
textBox2.Text = “名字”;//設置textBox顯示的文本
2、事件
①KeyDown表示在首次按下某個鍵時發生
private void textBox2_KeyDown(object sender, KeyEventArgs e)//將KeyDown事件添加到textBox2中
②e.KeyCode表示獲取鍵盤代碼
e.KeyCode == Keys.Enter//按下鍵盤上的Enter時就執行
③AcceptButton表示獲取或設置用戶按下Enter鍵所單擊窗體上的按鈕
this.AcceptButton = button2;//將AcceptButton綁定到button2上
3、Button控件
(1)功能:當用戶單擊它引發事件。它是一個按鈕
(2)它有什麼屬性?
①Text
表示獲取與控件關聯的文本
button1.Text = "取消";//設置button1顯示的文本為取消
②width和height
表示獲取控件的寬度和高度
button1.Width = 50;//設置button1的寬度(合適即可) button1.Height = 30;//設置button1的高度(合適即可)
③top
表示獲取控件上邊緣與容器工作區上邊緣之間的距離
button2.Top = button1.Top;//獲取button1的位置。往下
4、設置時間
DateTime.Now//表示獲取一個DateTime對象,該對象設置為此計算機上的當前日期和時間,表示為本地時間 //其實就是獲取此時計算機的日期和時間 DateTime表示時間上的一刻,通常以日期和當前時間表示
5、轉義字符\r\n
“\r\n//表述換行
二、聊天窗口規則
(1)由兩個框組成,一個輸入,一個讀
(2)由兩個按鈕,可發送,可取消,按下發送即可發送消息,按下取消即可取消將要發送的消息
(3)回車可發送消息
(4)送人的消息有姓名和稱號
三、思想(分析)
(1)插入兩個輸入框,一個隻可讀,一個可以寫消息
(2)將光標定位到下邊框
(3)然後設置兩個框的寬度一樣,高度不等
(4)將下邊框的文本給上邊框實現發送,然後發送完後無消息
(5)將光標定位到下邊框
(6)優化發送結構(人名,號碼和稱號和時間)
(7)添加兩個按鈕,一個為取消,一個為發送
(8)將上邊框發送的內容綁定到發送按鈕上即可發送
(9)設置按下Enter即可發送,需要綁定一些事件
(10)將光標定位到最左邊
四、實際操作
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 聊天窗體 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(600, 400); textBox1.Multiline = true;//設置textbox1可以多行顯示 textBox1.Height = 200;//再去設定它的高就好瞭 textBox1.ReadOnly = true;//將文本框設置為隻讀 textBox2.Multiline = true;//將textbox2設置為可以多行顯示 textBox2.Height = 70;//設置textbox2的高度(合適即可) textBox2.Width = textBox1.Width;//獲取textBox1.Width的寬度意思就是讓textBox2和textBox1的寬度一樣 textBox2.TabIndex = 0; //將光標定位到 textBox2框中 button1.Text = "取消";//設置button1顯示的文本為取消 button2.Text = "發送";//設置button1顯示的文本為發送 button1.Top = 320;//設置button1的位置,往下(合適即可) button1.Width = 50;//設置button1的寬度(合適即可) button1.Height = 30;//設置button1的高度(合適即可) button2.Top = button1.Top;//獲取button1的位置。往下 button2.Width = button1.Width;//獲取button1的寬度 button2.Height = button1.Height;//獲取button1的高度 this.AcceptButton = button2;//將AcceptButton綁定到button2上,然後光標就在最左邊 } private void button1_Click(object sender, EventArgs e) { textBox2.Text = "";//取消消息 } private void button2_Click(object sender, EventArgs e) { textBox1.Text+="【潛水】豬豬狹(2024415986)"+DateTime.Now+"\r\n"+"\r\n"+textBox2.Text+"\r\n";//將textBox2.Text的文本給textBox1.Text,就實現發送 //+表示鏈接,讓他顯示之前發送的信息 \r\n轉義字符,表示換行 DateTime.Now表示設置計算機當前的日期時間 textBox2.Text = "";//信息發送後,清空 textBox2的文本 } private void textBox2_KeyDown(object sender, KeyEventArgs e) { //KeyDown表示首次按下某個鍵時發生 //事件對象e 可以向我們提供有關鍵盤上的數據 if (e.KeyCode == Keys.Enter)//判斷如果按下鍵盤上的Enter時就執行下列代碼,發送消息 { textBox1.Text += "【潛水】豬豬狹(2024415986)" + DateTime.Now + "\r\n" + "\r\n" + textBox2.Text + "\r\n";//將textBox2.Text的文本給textBox1.Text,就實現發送 //+表示鏈接,讓他顯示之前發送的信息 \r\n轉義字符,表示換行 DateTime.Now表示設置計算機當前的日期時間 textBox2.Text = "";//信息發送後,清空 textBox2的文本 } } } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。