简单qq聊天窗体制作案例

简单qq聊天窗体制作案例_第1张图片

//导入命名空间
using System.Threading;



namespace qq抖动窗口
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            //设置背景随机颜色
            Random r = new Random();
            this.BackColor = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            
            
            //设置窗体的位置
            this.Left = Screen.PrimaryScreen.WorkingArea.Width / 2 - this.Width / 2;
            this.Top = Screen.PrimaryScreen.WorkingArea.Height / 2 - this.Height / 2;
            this.Text = "聊天窗口";

            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //抖动按钮
            int w = this.Left;
            int h = this.Top;

            

            for (int i = 0; i < 3; i++)
            {
                //通过控制窗体左上角的位置转一个圈来控制窗体抖动
                //使窗体向左移动3
                this.Location = new Point(w - 3, h);
                //sleep方法需要导入命名空间System.Threading
                Thread.Sleep(5);    //5控制挂起的时间或毫秒数
                //使窗体向上移动3
                this.Location = new Point(w - 3, h - 3);
                Thread.Sleep(5);
                //使窗体向右移动3
                this.Location = new Point(w, h - 3);
                Thread.Sleep(5);
                //使窗体向右移动3
                this.Location = new Point(w + 3, h - 3);
                Thread.Sleep(5);
                //使窗体向下移动3
                this.Location = new Point(w + 3, h);
                Thread.Sleep(5);
                //使窗体向下移动3
                this.Location = new Point(w + 3, h + 3);
                Thread.Sleep(5);
                //使窗体向左移动3
                this.Location = new Point(w, h + 3);
                Thread.Sleep(5);
                //使窗体向左移动3
                this.Location = new Point(w - 3, h + 3);
                Thread.Sleep(5);
                //使窗体向上移动3
                this.Location = new Point(w - 3, h);
                Thread.Sleep(5);
                //使窗体向右移动3
                this.Location = new Point(w, h);
                Thread.Sleep(5);

            }
        }
        //发送
        private void button2_Click(object sender, EventArgs e)
        {
            //如果下面的textBox2发送框不为空   则使下面的textBox2内容放到上面textBox1中
            if (textBox2.Text != "")
            {
                //DateTime.Now 当前系统时间
                textBox1.Text = textBox1.Text + DateTime.Now + "\r\n" + textBox2.Text + "\r\n";
                //textBox2的文本放到textBox1中时 textBox2文本为空
                textBox2.Text = "";

                this.KeyPreview = true;
                //滚轮显示最后一行
                //SelectionStart获取文本的起始点
                this.textBox1.SelectionStart = this.textBox1.Text.Length;
                //将控件内容滚动到当前插入符号的位置
                this.textBox1.ScrollToCaret();

            }
            

        }

        private void textBox2_KeyDown(object sender, KeyEventArgs e)
        {
            //用enter建发送信息
            //KeyCode获取键盘上的键  选择enter键
            if (e.KeyCode == Keys.Enter)
            {
                //使button2_Click链接enter键
                this.button2_Click(sender, e);
                //使textBox2的文本追加到textBox1中
                textBox1.AppendText(textBox2.Text);
                //将控件内容滚动到当前插入符号的位置
                textBox1.ScrollToCaret();
                //是滚动条跟内容最下边
                this.textBox1.SelectionStart = this.textBox1.Text.Length;
                this.textBox1.ScrollToCaret();
            }
        }

        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
            //往contextMenuStrip1中添加内容
            contextMenuStrip1.Items.Add("多选");
            contextMenuStrip1.Items.Add("转发");
        }
    }
}

你可能感兴趣的:(qq聊天窗体制作)