⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onechat.cs

📁 C常用算法程序集,一部比较经典的程序算法合集
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace mychat1
{
    public partial class onechat : Form
    {
        private listener mylistener;
        private string myname = null;
        private string hername = null;
        public onechat(string storedata, listener mylistener, string myname, string hername)//接受信息
        {
            InitializeComponent();
            txtContent.Text = storedata;
            this.mylistener = mylistener;
            this.myname = myname;
            this.hername = hername;
            this.Text = "和" + hername + "聊天中.......";

        }
        public onechat(string hername, listener mylistener, string myname, int i)
        {
            InitializeComponent();
            this.mylistener = mylistener;
            this.myname = myname;
            this.hername = hername;
            this.Text = "和" + hername + "聊天中.......";
        }


        void get_serverdata(string msg, string her) //接受到信息时,委托的事件
        {
            ThisOutDelegate del = delegate(string m, string hers)
             {
                 txtContent.AppendText(m);
                 txtContent.ScrollToCaret();
             };
            while (!this.IsHandleCreated)//在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 及This.DialogResult 
            {

            }
            txtContent.Invoke(del, msg, her);
        }

        void get_herfiletip()
        {
            FileDelegateTip del = delegate(bool nan)
            {
                timer1.Enabled = nan;
                btnfile.Text = "接受文件";
            };
            this.Invoke(del, true);
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void onechat_Load(object sender, EventArgs e)
        {
            this.mylistener.form2getserverdata = new ThisOutDelegate(get_serverdata);
            mylistener.changeform2();
            this.mylistener.acceptfile += new FileDelegate(get_herfiletip);
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtMessage.Text))
            {
                MessageBox.Show("请输入内容!");
                txtMessage.Clear();
                txtMessage.Focus();
                return;
            }
            string mydisplay = myname + "         " + System.DateTime.Now.ToString() + "\r" + txtMessage.Text + "\r";
            string msg = hername + ":" + mydisplay;
            commonmethod.sendtosevermessage(msg);  //还得判断一下有没有异常
            // txtContent.Text += mydisplay;
            txtContent.AppendText(mydisplay);
            txtContent.ScrollToCaret();//将流动条流到当前插入符号位置
            txtMessage.Clear();
        }

        private void onechat_FormClosing(object sender, FormClosingEventArgs e)
        {

            mylistener.changeform1();
            this.mylistener.acceptfile -= new FileDelegate(get_herfiletip);
        }

        private void btnClose_Click(object sender, EventArgs e) //可以册除
        {
            this.Close();
        }


        private void txtContent_TextChanged(object sender, EventArgs e)
        {
            //txtContent.Select(0, txtContent.Text.Length);
            // txtContent.ScrollToCaret();

        }

        private void onechat_FormClosed(object sender, FormClosedEventArgs e)
        {



        }

        private void btnfile_Click(object sender, EventArgs e)
        {
            Thread filethread;
            string herip;
            int herport;
            timer1.Enabled = false;
            commonmethod.getherip(hername, out herip, out herport);
            if (btnfile.Text.Equals("传送文件"))
            {
               
                openFileDialog1.ShowDialog();
                if (openFileDialog1 .FileName .Equals ("openFileDialog1"))
                    return ;
                filesend filesend1 = new filesend(herip, herport,hername , openFileDialog1.FileName);
                filethread =new Thread (new ThreadStart (filesend1.sendfile));
                              
            }
            else
            {
                saveFileDialog1.ShowDialog();
                filesend filesend1 = new filesend(herip, herport, hername, saveFileDialog1 .FileName);
                filethread =new Thread (new ThreadStart (filesend1.get));
                btnfile.Text = "传送文件";
                btnfile.ForeColor = Color.Black;
            }
            filethread .IsBackground =true ;
            filethread .Start ();

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            btnfile.Visible = true;
           
            if (btnfile.ForeColor == Color.Red)
                btnfile.ForeColor = Color.Black;
            else
                btnfile.ForeColor = Color.Red;
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -