コード例 #1
0
        private void Timer1_Tick(object sender, EventArgs e)
        {
            PopulateUserList();
            try
            {
                PopulateRecentMessages((int)(lvMessages.Items[lvMessages.Items.Count - 1].Tag));
                if (ApplicationIsActivated() && lastreadMessage != -1)
                {
                    if (lvMessages.Items[lvMessages.Items.Count - 1].Bounds.IntersectsWith(lvMessages.ClientRectangle))
                    {
                        lvMessages.Items[lastreadMessage].EnsureVisible();
                        lastreadMessage = lvMessages.Items.Count - 1;
                    }
                    if (lvMessages.Items[0].Bounds.IntersectsWith(lvMessages.ClientRectangle))
                    {
                        SQLQuery sqlq = new SQLQuery();
                        Global.MessageList.Clear();
                        Global.MessageList.AddRange(sqlq.GetPastMessages((int)lvMessages.Items[0].Tag));

                        foreach (Global.MessageObject value in Global.MessageList)
                        {
                            ListViewItem item = new ListViewItem();
                            item.Tag  = value.MessageID;
                            item.Text = "[" + value.datetime.ToString() + "]";
                            item.Name = "Time";
                            ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(item, "Message");
                            subItem.Name = "Message";
                            subItem.Text = "[" + value.user + "] : " + value.Message;
                            item.SubItems.Add(subItem);
                            lvMessages.Items.Insert(0, item);
                            lastreadMessage++;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }