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); }
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); }