⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chateditctrlmanager.cs

📁 破解的飞信源代码
💻 CS
📖 第 1 页 / 共 5 页
字号:
                }
                this._firedByFunction = true;
                if (size.Width < amigoImage.Size.Width)
                {
                    amigoImage = new AmigoImage(amigoImage.PreviewImage);
                }
                ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, sText, amigoImage);
                Size size2 = size;
                if (this._richTextBox.InsertImage(amigoImage, size2, this._oleIndex))
                {
                    obj2.Index = this._oleIndex;
                    this._oleObjDict.Add(OleKeyManager.Instance.NewKey, obj2);
                    this._oleObjIndexDict.Add(this._oleIndex, obj2);
                    this._oleIndex++;
                    this._firedByFunction = false;
                    return true;
                }
                this._firedByFunction = false;
                return false;
            }
            catch
            {
            }
            finally
            {
                this.LockUpdate(false);
            }
            return true;
        }

        public bool InsertImage(int iPos, Image image, string sText, OleKey key, Size size, bool bReplace)
        {
            try
            {
                this.LockUpdate(true);
                int selectionStart = this._richTextBox.SelectionStart;
                int selectionLength = this._richTextBox.SelectionLength;
                if (!bReplace)
                {
                    this._richTextBox.SelectionLength = 0;
                    this._richTextBox.SelectionStart = iPos;
                }
                this._firedByFunction = true;
                AmigoImage image2 = new AmigoImage(image);
                ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, sText, image2);
                Size empty = Size.Empty;
                if (this._sympolSize.Equals(Size.Empty))
                {
                    empty = image2.Size;
                }
                else if (size.Equals(Size.Empty))
                {
                    empty = this._sympolSize;
                }
                else
                {
                    empty = size;
                }
                if (this._richTextBox.InsertImage(image2, empty, this._oleIndex))
                {
                    obj2.Index = this._oleIndex;
                    this._oleObjDict.Add(OleKeyManager.Instance.NewKey, obj2);
                    this._oleObjIndexDict.Add(this._oleIndex, obj2);
                    this._oleIndex++;
                    this._firedByFunction = false;
                    return true;
                }
                this._firedByFunction = false;
                return false;
            }
            catch
            {
            }
            finally
            {
                this.LockUpdate(false);
            }
            return true;
        }

        public bool InsertImage2(Imps.Client.Core.CustomEmotion.CustomEmotion emotion, Image image, OleKey key)
        {
            return this.InsertImage2(this.SelectionStart, emotion, image, key, false);
        }

        public bool InsertImage2(int iPos, Imps.Client.Core.CustomEmotion.CustomEmotion emotion, Image image, OleKey key, bool bReplace)
        {
            try
            {
                this.LockUpdate(true);
                int selectionStart = this._richTextBox.SelectionStart;
                int selectionLength = this._richTextBox.SelectionLength;
                if (!bReplace)
                {
                    this._richTextBox.SelectionLength = 0;
                    this._richTextBox.SelectionStart = iPos;
                }
                this._firedByFunction = true;
                if (image == null)
                {
                    image = new Bitmap(this._customEmotionPlaceholderSize.Width, this._customEmotionPlaceholderSize.Height);
                }
                AmigoImage image2 = null;
                try
                {
                    PropertyItem propertyItem = image.GetPropertyItem(0x5101);
                    if (propertyItem != null)
                    {
                        int circles = propertyItem.Value[0];
                        image2 = new AmigoImage(image, circles, false);
                    }
                    else
                    {
                        image2 = new AmigoImage(image, false);
                    }
                }
                catch
                {
                    image2 = new AmigoImage(image, false);
                }
                ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, emotion.ShortCut, image2);
                obj2.CustomEmotion = emotion;
                if (this._richTextBox.InsertImage(image2, image2.Size, this._oleIndex))
                {
                    obj2.Index = this._oleIndex;
                    this._oleObjDict.Add(key, obj2);
                    this._oleObjIndexDict.Add(this._oleIndex, obj2);
                    this._oleIndex++;
                    this._firedByFunction = false;
                    return true;
                }
                this._firedByFunction = false;
                return false;
            }
            catch
            {
            }
            finally
            {
                this.LockUpdate(false);
            }
            return true;
        }

        public void InsertLink(int iPos, OleKey key, string LinkText, string LinkCommand)
        {
            this.InsertLink(iPos, key, LinkText, LinkCommand, null, Keys.None);
        }

        public void InsertLink(int iPos, OleKey key, string LinkText, string LinkCommand, Dictionary<string, string> command, Keys hotKey)
        {
            this._firedByFunction = true;
            this.InsertRichTextPlainString(iPos, LinkText, this.LinkButtonFont, this.LinkButtonColor);
            int num = iPos + LinkText.Length;
            if (hotKey == Keys.None)
            {
                string hotKeyText = " (" + Keys.Alt.ToString() + "+" + ((hotKey & ~Keys.Alt)).ToString() + ") ";
                this._richTextBox.SelectionStart = iPos;
                this._richTextBox.SelectionLength = LinkText.Length;
                try
                {
                    this._richTextBox.SelectionFont = this.LinkButtonFont;
                }
                catch (Exception exception)
                {
                    ClientLogger.WriteException(exception);
                }
                this._richTextBox.SetSelectionLink(true);
                ChatEditLinkObject obj2 = new ChatEditLinkObject(iPos, key, LinkText, LinkCommand, hotKey, command, hotKeyText);
                this._linkObjectDict.Add(obj2);
            }
            else
            {
                string sText = " (" + Keys.Alt.ToString() + "+" + ((hotKey & ~Keys.Alt)).ToString() + ") ";
                this.InsertRichTextString(num, sText, this.LinkButtonHotKeyFont, this.LinkButtonHotKeyColor);
                this._richTextBox.SelectionStart = iPos;
                this._richTextBox.SelectionLength = LinkText.Length;
                this._richTextBox.SetSelectionLink(true);
                try
                {
                    this._richTextBox.SelectionFont = this.LinkButtonFont;
                }
                catch (Exception exception2)
                {
                    ClientLogger.WriteException(exception2);
                }
                ChatEditLinkObject obj3 = new ChatEditLinkObject(iPos, key, LinkText, LinkCommand, hotKey, command, sText);
                this._linkObjectDict.Add(obj3);
            }
            this._firedByFunction = false;
        }

        public void InsertRichTextPlainString(int iPos, string sText, Font font, Color color)
        {
            this._firedByFunction = true;
            int selectionStart = this._richTextBox.SelectionStart;
            this._richTextBox.SelectionStart = iPos;
            int selectionLength = this._richTextBox.SelectionLength;
            Color selectionColor = this._richTextBox.SelectionColor;
            Font selectionFont = this._richTextBox.SelectionFont;
            this._richTextBox.SelectionColor = color;
            try
            {
                this._richTextBox.SelectionFont = font;
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
            this._richTextBox.InsertString(sText);
            iPos += sText.Length;
            this._richTextBox.SelectionStart = selectionStart;
            this._richTextBox.SelectionColor = selectionColor;
            try
            {
                this._richTextBox.SelectionFont = selectionFont;
            }
            catch (Exception exception2)
            {
                ClientLogger.WriteException(exception2);
            }
            this._richTextBox.SelectionLength = selectionLength;
            this._firedByFunction = false;
        }

        public int InsertRichTextString(int iPos, string sText, Font font, Color color)
        {
            return this.InsertRichTextString(iPos, sText, font, color, this._sympolSize);
        }

        public int InsertRichTextString(int iPos, string sText, Font font, Color color, Size size)
        {
            int num = 0;
            this._firedByFunction = true;
            int selectionStart = this._richTextBox.SelectionStart;
            int selectionLength = this._richTextBox.SelectionLength;
            Color selectionColor = this._richTextBox.SelectionColor;
            Font selectionFont = this._richTextBox.SelectionFont;
            if (this._convertSympol)
            {
                List<object>.Enumerator enumerator = EmoticonParser.ParseString(null, sText).GetEnumerator();
                try
                {
                    while (enumerator.MoveNext())
                    {
                        object obj2 = enumerator.get_Current();
                        if (obj2 is Emoticon)
                        {
                            Emoticon emoticon = (Emoticon) obj2;
                            this._richTextBox.Select(iPos, 0);
                            AmigoImage amigoImage = emoticon.AmigoImage;
                            if (size.Equals(Size.Empty) || (emoticon.Key == "FetionPcTeam"))
                            {
                                size = amigoImage.Size;
                            }
                            this.InsertImage(amigoImage, emoticon.Key, OleKeyManager.Instance.NewKey, size);
                            this._richTextBox.SelectionLength = 0;
                            iPos++;
                            num++;
                        }
                        else if (obj2 is string)
                        {
                            string text = (string) obj2;
                            this._richTextBox.SelectionStart = iPos;
                            this._richTextBox.SelectionColor = color;
                            try
                            {
                                if (font != null)
                                {
                                    this._richTextBox.SelectionFont = font;
                                }
                            }
                            catch (Exception exception)
                            {
                                ClientLogger.WriteException(exception);
                            }
                            this._richTextBox.InsertString(text);
                            iPos += text.Length;
                            num += text.Length;
                        }
                    }
                }
                finally
                {
                    enumerator.Dispose();
                }
            }
            else
            {
                this._richTextBox.SelectionStart = iPos;
                this._richTextBox.SelectionColor = color;
                try
                {
                    if (font != null)
                    {
                        this._richTextBox.SelectionFont = font;
                    }
                }
                catch (Exception exception2)
                {
                    ClientLogger.WriteException(exception2);
                }
                this._richTextBox.InsertString(sText);
                iPos += sText.Length;
                num += sText.Length;
            }
            this._richTextBox.SelectionStart = selectionStart;
            this._richTextBox.SelectionColor = selectionColor;
            try
            {
                if (selectionFont != null)
                {
                    this._richTextBox.SelectionFont = selectionFont;
                }
            }
            catch (Exception exception3)
            {
                ClientLogger.WriteException(exception3);
     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -