Esempio n. 1
0
        /// <summary>
        /// 添加通讯录
        /// </summary>
        /// <param name="user">The user.</param>
        public void AddContactsView(WXUser user)
        {
            if (NotListenWeChatData == null)
            {
                NotListenWeChatData = new List <WXUser>();
            }
            if (ListenWeChatData == null)
            {
                ListenWeChatData = new List <WXUser>();
            }

            if (!NotListenWeChatData.Exists(item => { return(item.UserName == user.UserName); }) && !ListenWeChatData.Exists(item => { return(item.UserName == user.UserName); }))
            {
                NotListenWeChatData.Add(user);
                SetContactsView(user);
                //DownLoadWeChatImage(user);
            }
            ListenWeChatData.ForEach(item =>
            {
                if (item.UserName == user.UserName)
                {
                    item.NickName = user.ShowName;
                }
            });
        }
Esempio n. 2
0
        /// <summary>
        /// 添加/移除监控
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvWeChatList_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (ListenWeChatData == null)
            {
                ListenWeChatData = new List <WXUser>();
            }
            CurrentSelectedWeChat = string.Empty;
            DataGridViewCellCollection cells = this.dgvWeChatList.CurrentRow.Cells;

            if (cells != null && cells["editListen"].ColumnIndex == e.ColumnIndex)
            {
                string userName = cells["UserName"].Value.ToString();
                if (!IsListenView)
                {
                    if (!ListenWeChatData.Exists(item => { return(item.UserName == userName); }))
                    {
                        //将群添加到监控列表
                        ListenWeChatData.Add(new WXUser()
                        {
                            UserName = userName,
                            NickName = cells["ShowName"].Value.ToString()
                        });

                        NotListenWeChatData.RemoveAll(item => { return(item.UserName == userName); });
                    }
                }
                else
                {
                    //从监控列表中移除
                    if (ListenWeChatData.Exists(item => { return(item.UserName == userName); }))
                    {
                        ListenWeChatData.RemoveAll(item => { return(item.UserName == userName); });
                        //将群添加到监控列表
                        NotListenWeChatData.Add(new WXUser()
                        {
                            UserName = userName,
                            NickName = cells["ShowName"].Value.ToString()
                        });
                    }
                }
                dgvWeChatList.Rows.RemoveAt(cells["editListen"].RowIndex);
            }
            else
            {
                if (IsListenView)
                {
                    string showname = cells["ShowName"].Value.ToString();
                    CurrentSelectedWeChat = cells["UserName"].Value.ToString();
                    var data = wxMessageData.FindAll(item =>
                    {
                        return(item.MsgUserName == CurrentSelectedWeChat);
                    });
                    SetDataContentView(data);
                    lbMsgTitle.Text = "群 " + showname + " 消息列表";
                }
            }
        }
Esempio n. 3
0
        private void txtSearch_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                e.Handled = true;
                var data = !IsListenView?NotListenWeChatData.FindAll(item => { return(item.ShowName.Contains(txtSearch.Text)); }) : ListenWeChatData.FindAll(item => { return(item.ShowName.Contains(txtSearch.Text)); });

                SetContactsView(data);
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 刷新列表
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void toolsRefresh_Click(object sender, EventArgs e)
 {
     if (!IsListenView)
     {
         if (mainForm.wxlogin != null)
         {
             if (NotListenWeChatData == null)
             {
                 NotListenWeChatData = new List <WXUser>();
             }
             this.dgvWeChatList.Rows.Clear();
             NotListenWeChatData.Clear();
             mainForm.wxlogin.ReloadContact();
         }
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 一键移除监控
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void toolsClearListen_Click(object sender, EventArgs e)
 {
     ListenWeChatData.ForEach(data =>
     {
         if (!NotListenWeChatData.Exists(item => { return(item.UserName == data.UserName); }))
         {
             //将群添加到监控列表
             NotListenWeChatData.Add(new WXUser()
             {
                 UserName = data.UserName,
                 NickName = data.NickName
             });
         }
     });
     ListenWeChatData.Clear();
     dgvWeChatList.Rows.Clear();
 }
Esempio n. 6
0
        /// <summary>
        /// 加载微信通讯录
        /// </summary>
        /// <param name="user">The user.</param>
        private void SetContactsView(WXUser user)
        {
            if (NotListenWeChatData == null)
            {
                NotListenWeChatData = new List <WXUser>();
            }

            if (dgvWeChatList.InvokeRequired)
            {
                this.dgvWeChatList.Invoke(new Action <WXUser>(SetContactsView), new object[] { user });
            }
            else
            {
                bool result = false;
                foreach (DataGridViewRow item in dgvWeChatList.Rows)
                {
                    if (item.Cells["UserName"].Value.ToString().Equals(user.UserName))
                    {
                        result = true;
                        item.Cells["ShowName"].Value = user.ShowName;
                        item.Cells["UserName"].Value = user.UserName;
                        break;
                    }
                }
                if (!IsListenView && !result)
                {
                    int i = dgvWeChatList.Rows.Count;
                    dgvWeChatList.Rows.Add();
                    ++i;
                    dgvWeChatList.Rows[i - 1].Cells["ID"].Value       = i;
                    dgvWeChatList.Rows[i - 1].Cells["ShowName"].Value = user.ShowName;
                    dgvWeChatList.Rows[i - 1].Cells["UserName"].Value = user.UserName;

                    dgvWeChatList.Rows[i - 1].Height = 50;
                    dgvWeChatList.Rows[i - 1].DefaultCellStyle.SelectionBackColor = Color.FromArgb(236, 232, 231);
                }

                if (NotListenWeChatData.Exists(item => { return(item.UserName == user.UserName); }))
                {
                    NotListenWeChatData.RemoveAll(u => { return(u.UserName == user.UserName); });
                }
                NotListenWeChatData.Add(user);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 清除页面所有数据
        /// </summary>
        public void ClearAllData()
        {
            if (wxMessageData != null)
            {
                wxMessageData.Clear();
            }
            if (ListenWeChatData != null)
            {
                ListenWeChatData.Clear();
            }
            if (NotListenWeChatData != null)
            {
                NotListenWeChatData.Clear();
            }

            dataContent.Rows.Clear();
            dgvWeChatList.Rows.Clear();
            CurrentSelectedWeChat = string.Empty;
            if (mainForm.useredit != null)
            {
                HileWinEdit();
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 搜索
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void txtSearch_TextChanged(object sender, EventArgs e)
        {
            var data = !IsListenView?NotListenWeChatData.FindAll(item => { return(item.ShowName.Contains(txtSearch.Text)); }) : ListenWeChatData.FindAll(item => { return(item.ShowName.Contains(txtSearch.Text)); });

            SetContactsView(data);
        }