• 2017-5-5 QQ面板 (用户控件、timer控件,轮询实现聊天功能)


    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;
    using 用户控件练习___QQ面板.App_code;
    
    namespace 用户控件练习___QQ面板
    {
        public partial class Form1 : Form
        {
            public Form1(Form2 f2,qquser u)
            {
                InitializeComponent();
                //绑定当前登录用户的信息
                pictureBox1.BackgroundImage = Image.FromFile(u.Qqpic);
                label1.Text = u.Qqname;
                label2.Text = u.Qqsign;
                //绑定好友信息
              qqfriend fri= new qqfrienddata().selectfriend(u.Qqnumber);
                if(fri!=null)
                {
                  string[] strs = fri.Qqfriends.Split(',');
                    foreach(string s in strs)
                    {
                        qquser u1 = new qquserdata().selectuser(s);
                        if(u1!=null)
                        {
                            friend f = new friend(u,u1);
                            f.pic1.BackgroundImage = Image.FromFile(u1.Qqpic);
                            f.la1.Text = u1.Qqname;
                            f.la2.Text = u1.Qqsign;
                            flowLayoutPanel1.Controls.Add(f);
                        }
                    }
                }
                label3.Text = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss");
               
            }
    
            //private void button1_Click(object sender, EventArgs e)
            //{
            //    friend f = new friend();
            //    f.pic1.BackgroundImage = Image.FromFile("img/1.jpg.jpg");
            //    f.la1.Text = "姚慧旭";
            //    f.la2.Text = "套路得人心";
            //    flowLayoutPanel1.Controls.Add(f);
            //}
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                label3.Text = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss");
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
        }
    }

    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;
    using 用户控件练习___QQ面板.App_code;
    
    namespace 用户控件练习___QQ面板
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                qquser u=new qquserdata().selectuser(textBox1.Text.Trim(),textBox2.Text);
                if(u==null)
                {
                    label1.Text = "账号或密码错误!";
                    return;
                }
                if (u.Qqstate)
                {
                    Form1 f1 = new Form1(this,u);
                    f1.Show();
                    this.Hide();
    
                }
                else 
                {
                    label1.Text = "账号未激活!";
                }
            }
        }
    }

    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;
    using 用户控件练习___QQ面板.App_code;
    
    namespace 用户控件练习___QQ面板
    {
        public partial class Form3 : Form
        {
            qquser ME = null;
            qquser TO = null;
            friend F = null;
            public Form3(qquser me,qquser to,friend f)
            {
                InitializeComponent();
                this.Text = me.Qqname + "" + to.Qqname + "的对话";
                ME = me;
                TO = to;
                F = f;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                qqchat cht = new qqchat();
                cht.From = ME.Qqnumber;
                cht.To = TO.Qqnumber;
                cht.Content = richTextBox2.Text;
                cht.Time = DateTime.Now;
                cht.State = false;
    
                new qqchatdata().insertchat(cht);
                richTextBox1.Text+=ME.Qqname+""+TO.Qqname+"说:("+cht.Time.ToString("HH:mm:ss")+")
    "+richTextBox2.Text+"
    ";
                richTextBox2.Text = "";
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
    
              qqchat cht= new qqchatdata().select(TO.Qqnumber, ME.Qqnumber);
                if(cht!=null)
                {
                    richTextBox1.Text += cht.From + "" + cht.To + "说:(" + cht.Time.ToString("HH:mm:ss") + ")
    "+cht.Content+"
    ";
    
                    new qqchatdata().updatestate(cht.Ids);
                }
    
            }
    
            private void Form3_FormClosing(object sender, FormClosingEventArgs e)
            {
                F.ff3 = null;
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using 用户控件练习___QQ面板.App_code;
    
    namespace 用户控件练习___QQ面板
    {
        public partial class friend : UserControl
        {
            qquser ME = null;
            qquser TO = null;
            public friend(qquser me,qquser to)
            {
                InitializeComponent();
                ME = me;
                TO = to;
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
    
            }
    
            private void friend_MouseEnter(object sender, EventArgs e)
            {
                this.BackColor = Color.Red;
    
            }
    
            private void friend_MouseLeave(object sender, EventArgs e)
            {
                this.BackColor = Color.Transparent;
            }
    
          public Form3 ff3 = null;
            private void friend_DoubleClick(object sender, EventArgs e)
            {
                if (ff3 == null)
                {
                    Form3 f3 = new Form3(ME, TO,this);
                    f3.Show();
                    ff3 = f3;
                }
                else 
                {
                    ff3.WindowState = FormWindowState.Normal;
                    ff3.Focus();
                }
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                if (new qqchatdata().select(TO.Qqnumber, ME.Qqnumber) != null)
                {
                    timer2.Enabled = true;
                }
                else 
                {
                    timer2.Enabled = false;
                }
            }
            bool top = false;
            private void timer2_Tick(object sender, EventArgs e)
            {
                if (top)
                {
                    this.pic1.Location = new Point(9, 13);
                    top = false;
                }
                else 
                {
                    this.pic1.Location = new Point(15, 19);
                    top = true;
                }
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
        public class qqchat
        {
            private int _ids;
    
            public int Ids
            {
                get { return _ids; }
                set { _ids = value; }
            }
            private string _from;
    
            public string From
            {
                get { return _from; }
                set { _from = value; }
            }
            private string _to;
    
            public string To
            {
                get { return _to; }
                set { _to = value; }
            }
            private string _content;
    
            public string Content
            {
                get { return _content; }
                set { _content = value; }
            }
            private DateTime _time;
    
            public DateTime Time
            {
                get { return _time; }
                set { _time = value; }
            }
            private bool _state;
    
            public bool State
            {
                get { return _state; }
                set { _state = value; }
            }
    
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
         public class qqchatdata
        {
             SqlConnection conn=null;
             SqlCommand cmd=null;
             public qqchatdata() 
             {
                 conn = new SqlConnection("server=.;database=master;user=sa;pwd=123");
                 cmd = conn.CreateCommand();
             }
             public void insertchat(qqchat ct)
             {
                 cmd.CommandText = "insert into qqchat values (@a,@b,@c,@d,@e)";
                 cmd.Parameters.Clear();
                 cmd.Parameters.AddWithValue("@a",ct.From);
                 cmd.Parameters.AddWithValue("@b",ct.To);
                 cmd.Parameters.AddWithValue("@c",ct.Content);
                 cmd.Parameters.AddWithValue("@d",ct.Time);
                 cmd.Parameters.AddWithValue("@e",ct.State);
    
                 conn.Open();
                 cmd.ExecuteNonQuery();
                 conn.Close();
             }
    
             public qqchat select(string from,string to)
             {
                 qqchat ct = null;
                 cmd.CommandText = "select * from qqchat where [from]=@a and [to]=@b and [state]=0";
                 cmd.Parameters.Clear();
                 cmd.Parameters.AddWithValue("@a",from);
                 cmd.Parameters.AddWithValue("@b",to);
                 conn.Open();
                 SqlDataReader dr= cmd.ExecuteReader();
                 if(dr.HasRows)
                 {
                     ct = new qqchat();
                     dr.Read();
                     ct.Ids = Convert.ToInt32(dr[0]);
                     ct.From = dr[1].ToString();
                     ct.To = dr[2].ToString();
                     ct.Content=dr[3].ToString();
                     ct.Time = Convert.ToDateTime(dr[4]);
                     ct.State = Convert.ToBoolean(dr[5]);
                 }
                 conn.Close();
                 return ct;
             }
    
    
             public void updatestate(int ids)
             {
                 cmd.CommandText = "update qqchat set state=1 where ids=@a";
                 cmd.Parameters.Clear();
                 cmd.Parameters.AddWithValue("@a",ids);
                 conn.Open();
                 cmd.ExecuteNonQuery();
                 conn.Close();
             }
    
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
       public class qqfriend
        {
            private string _qqnumber;
    
            public string Qqnumber
            {
                get { return _qqnumber; }
                set { _qqnumber = value; }
            }
            private string _qqfriends;
    
            public string Qqfriends
            {
                get { return _qqfriends; }
                set { _qqfriends = value; }
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
         public class qqfrienddata
        {
             SqlConnection conn=null;
             SqlCommand cmd=null;
    
             public qqfrienddata() 
             {
                 conn = new SqlConnection("server=.;database=master;user=sa;pwd=123");
                 cmd = conn.CreateCommand();
             }
             public qqfriend selectfriend(string number)
             {
                 qqfriend f = null;
                 cmd.CommandText = "select * from qqfriends where qqnumber=@a ";
                 cmd.Parameters.Clear();
                 cmd.Parameters.AddWithValue("@a",number);
                 conn.Open();
                 SqlDataReader dr = cmd.ExecuteReader();
                 if(dr.HasRows)
                 {
                     f = new qqfriend();
                     dr.Read();
                     f.Qqnumber = dr[1].ToString();
                     f.Qqfriends = dr[2].ToString();
                 }
    
                 conn.Close();
                 return f;
    
             }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
        public class qquser
        {
            private string _qqnumber;
    
            public string Qqnumber
            {
                get { return _qqnumber; }
                set { _qqnumber = value; }
            }
            private string _qqpwd;
    
            public string Qqpwd
            {
                get { return _qqpwd; }
                set { _qqpwd = value; }
            }
            private string _qqname;
    
            public string Qqname
            {
                get { return _qqname; }
                set { _qqname = value; }
            }
            private string _qqsign;
    
            public string Qqsign
            {
                get { return _qqsign; }
                set { _qqsign = value; }
            }
            private string _qqpic;
    
            public string Qqpic
            {
                get { return _qqpic; }
                set { _qqpic = value; }
            }
            private bool _qqstate;
    
            public bool Qqstate
            {
                get { return _qqstate; }
                set { _qqstate = value; }
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 用户控件练习___QQ面板.App_code
    {
        public class qquserdata
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
    
            public qquserdata() 
            {
                conn = new SqlConnection("server=.;database=master;user=sa;pwd=123");
                cmd = conn.CreateCommand();
            }
            public qquser selectuser(string number,string pwd)
            {
                qquser u = null;
                cmd.CommandText = "select * from qquser where qqnumber=@a and qqpwd=@b";
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@a",number);
                cmd.Parameters.AddWithValue("@b",pwd);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if(dr.HasRows)
                {
                    u = new qquser();
                    dr.Read();
                    u.Qqnumber = dr[1].ToString();
                    u.Qqpwd = dr[2].ToString();
                    u.Qqname = dr[3].ToString();
                    u.Qqsign = dr[4].ToString();
                    u.Qqpic = dr[5].ToString();
                    u.Qqstate = Convert.ToBoolean(dr[6]);
                }
                conn.Close();
    
    
    
                return u;
            }
    
    
            public qquser selectuser(string number)
            {
                qquser u = null;
                cmd.CommandText = "select * from qquser where qqnumber=@a ";
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@a", number);
                
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    u = new qquser();
                    dr.Read();
                    u.Qqnumber = dr[1].ToString();
                    u.Qqpwd = dr[2].ToString();
                    u.Qqname = dr[3].ToString();
                    u.Qqsign = dr[4].ToString();
                    u.Qqpic = dr[5].ToString();
                    u.Qqstate = Convert.ToBoolean(dr[6]);
                }
                conn.Close();
    
    
    
                return u;
            }
        }
    }
  • 相关阅读:
    解决winform DataGridView 绑定数字值列排序不对的问题
    C#中向数据库中添加注册新用户,并查询数据库中是否存在同名的用户。
    SQL数据库的脱机与联机操作
    odoo视频教程收集
    odoo10导入导出-转
    草稿-bom- 肥料生产
    freebsd 域名服务器
    freebsd启动报错:My unqualified host name unkown...Sleeping for retry.
    docker-freebsd-20150625
    supervisorctl error
  • 原文地址:https://www.cnblogs.com/zhengqian/p/6820147.html
Copyright © 2020-2023  润新知