溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么實現一個聊天窗體

發布時間:2021-07-12 09:13:04 來源:億速云 閱讀:168 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關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的文本
        }
    }
}

}

上述就是小編為大家分享的C#中怎么實現一個聊天窗體了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女