コード例 #1
0
ファイル: myListBox.cs プロジェクト: malstoun/VKMessenger
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            this.Focus();
            vk start = new vk();
            vk.profile temp = new vk.profile();
            try
            {
                temp = vars.VARS.Contact[Items[(vscroll.Value) + (int)(e.Y / HEIGHT_ITEM)]]; // если контакт на этом месте существует, то его данные записываются в переменную
            }
            catch (ArgumentOutOfRangeException exe)
            {
                //GeneralMethods.WriteError(exe.Source, exe.Message, exe.TargetSite);
                return;
            }

            if (!(temp.online || vars.VARS.ShowOffline)) // когда оффлайн скрыты предотвращаем случайные нажатия
                return;

            if (!vars.VARS.Chat.richtbox.ContainsKey(temp.uid)) // если чат с пользователем ещё не открыт
            {
                vars.VARS.Chat.WindowState = FormWindowState.Normal;
                vars.VARS.Chat.chatIn(temp.uid, temp.UserName, true);
            }

            GetHistory newEvent = new GetHistory(start.getHistory);
            IAsyncResult res2 = newEvent.BeginInvoke(temp.uid, 5, null, null); // в асинхронном потоке получаем историю сообщений, чтобы чат открывался сразу
                //start.getHistory(temp.uid, 5); // заправшиваем историю

            if (vars.VARS.Chat.Visible == false) // если невидим, делаем видимым
            {
                vars.VARS.Chat.Show();
                vars.VARS.Chat.Text = temp.UserName;
            }

            //vars.VARS.Chat.Activate();
            if (vars.VARS.Frequency) // если настройка включена обновляем данные частоты
            {
                if (vars.VARS.FrequencyUse.ContainsKey(temp.uid))
                {
                    uint j = vars.VARS.FrequencyUse[temp.uid];
                    j++;
                    vars.VARS.FrequencyUse.Remove(temp.uid);
                    vars.VARS.FrequencyUse.Add(temp.uid, j);
                }
            }

            base.OnMouseDoubleClick(e);
        }
コード例 #2
0
ファイル: myListBox.cs プロジェクト: malstoun/VKMessenger
 protected override void OnMouseClick(MouseEventArgs e)
 {
     this.Focus();
     try
     {
         selectedItem = vars.VARS.Contact[Items[(vscroll.Value) + (int)(e.Y / HEIGHT_ITEM)]];
         selectedIndex = (vscroll.Value) + (int)(e.Y / HEIGHT_ITEM);
         this.Refresh();
         if (e.Button == MouseButtons.Right)
         {
             context.Items.Add("Перейти на страницу");
             context.Items.Add("К фотографиям");
             context.Items[0].Tag = "http://vkontakte.ru/id" + selectedItem.uid;
             context.Items[1].Tag = "http://vkontakte.ru/tag" + selectedItem.uid;
             context.Show(this, e.X, e.Y);
         }
     }
     catch (ArgumentOutOfRangeException exe)
     {
         //GeneralMethods.WriteError(exe.Source, exe.Message, exe.TargetSite);
     }
     base.OnMouseClick(e);
 }