示例#1
0
        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
        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);
        }