Пример #1
0
        public void bindData(int page = 0, int size = 20, string q = "")
        {
            this.labelLoading.Text = "正在加载。。。";
            try
            {
                Response res = new Response();
                System.Collections.Generic.List<Artifact.Api.Message> messages = res.MessageList(0, page, size, q);
                if (messages != null)
                {
                    Extra extra = (Extra)JsonConvert.DeserializeObject(res.extra.ToString(), typeof(Extra));
                    this.pageCount = extra.pages;
                    this.pageCurrent = extra.page;
                    this.pageSize = extra.size;
                    this.totalRecord = extra.total;
                    this.messageBindingSource.DataSource = messages;
                }

                this.textBoxPage.Text = (this.pageCurrent + 1).ToString();
                this.labelTotalPage.Text = "/" + this.pageCount.ToString();

                //有下一页
                if (this.pageCurrent > 0)
                {
                    this.buttonFirst.Enabled = true;
                    this.buttonPre.Enabled = true;
                }
                else
                {
                    this.buttonFirst.Enabled = false;
                    this.buttonPre.Enabled = false;
                }
                if (this.pageCount > (this.pageCurrent + 1))
                {
                    this.buttonNext.Enabled = true;
                    this.buttonLast.Enabled = true;
                }
                else //无下一页
                {
                    this.buttonNext.Enabled = false;
                    this.buttonLast.Enabled = false;
                }

            }
            catch (Exception )
            {
                //MessageBox.Show("获取信息出错!" + ex.Message);
            }

            this.labelLoading.Text = "";
        }
Пример #2
0
        /// <summary>
        /// 获取信息并显示
        /// </summary>
        /// <param name="size">获取条数</param>
        private void setMessage(int size=10)
        {
            try
            {
                this.richTextBoxMessageList.Select(this.richTextBoxMessageList.TextLength, 0);
                Response res = new Response();
                System.Collections.Generic.List<Artifact.Api.Message> messages = res.MessageList(this.maxId,0, size);
                if (messages != null)
                {
                    foreach (Artifact.Api.Message message in messages)
                    {
                        this.richTextBoxMessageList.AppendText(message.message_time + "\n" + message.message_text + "\n\n");
                        if (this.maxId < Int32.Parse(message.message_id))
                            this.maxId = Int32.Parse(message.message_id);

                    }

                    Regex regImg = new Regex(@"(?i)<img\b[^>]*?src\s*=(['""]?)(?<imgUrl>[^'""]+)\1[^>]*?>");
                    MatchCollection matches = regImg.Matches(this.richTextBoxMessageList.Text);

                    string[] sUrlList = new string[matches.Count];
                    foreach (Match match in matches)
                    {

                        string url = @match.Groups["imgUrl"].Value;
                        Bitmap bmp = new Bitmap((new System.Net.WebClient()).OpenRead(url));
                        Clipboard.SetImage(bmp);
                        string src = "<img src='" + url + "' />";
                        int pos = this.richTextBoxMessageList.Find(src);
                        this.richTextBoxMessageList.Select(pos, src.Length);
                        this.richTextBoxMessageList.Paste();
                        this.richTextBoxMessageList.Refresh();
                        Clipboard.Clear();
                    }

                    //让文本框获取焦点
                    this.richTextBoxMessageList.Focus();
                    //设置光标的位置到文本尾
                    this.richTextBoxMessageList.Select(this.richTextBoxMessageList.TextLength, 0);
                    //滚动到控件光标处
                    this.richTextBoxMessageList.ScrollToCaret();
                    if (this.WindowState == FormWindowState.Minimized)
                        this.WindowState = FormWindowState.Normal;

                    String wav = @"msg.wav";
                    if (System.IO.File.Exists(wav))
                    {
                        System.Media.SoundPlayer sp = new System.Media.SoundPlayer(wav);
                        sp.Play();
                    }
                }

            }
            catch (Exception )
            {
                //MessageBox.Show("登录过期!" + ex.Message);
            }
        }