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 OnKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { vk start = new vk(); if (!vars.VARS.Chat.richtbox.ContainsKey(selectedItem.uid)) // если чат с пользователем ещё не открыт { vars.VARS.Chat.WindowState = FormWindowState.Normal; vars.VARS.Chat.chatIn(selectedItem.uid, selectedItem.UserName, true); } GetHistory newEvent = new GetHistory(start.getHistory); IAsyncResult res2 = newEvent.BeginInvoke(selectedItem.uid, 5, null, null); // в асинхронном потоке получаем историю сообщений, чтобы чат открывался сразу //start.getHistory(temp.uid, 5); // заправшиваем историю if (vars.VARS.Chat.Visible == false) // если невидим, делаем видимым { vars.VARS.Chat.Show(); vars.VARS.Chat.Text = selectedItem.UserName; } //vars.VARS.Chat.Activate(); if (vars.VARS.Frequency) // если настройка включена обновляем данные частоты { if (vars.VARS.FrequencyUse.ContainsKey(selectedItem.uid)) { uint j = vars.VARS.FrequencyUse[selectedItem.uid]; j++; vars.VARS.FrequencyUse.Remove(selectedItem.uid); vars.VARS.FrequencyUse.Add(selectedItem.uid, j); } } e.SuppressKeyPress = true; } base.OnKeyUp(e); }