From 392d4b51247c985c345cd48ff5d2615f37354886 Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 31 Aug 2023 15:45:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=B2=98=E8=B4=B4=E4=B9=B1?= =?UTF-8?q?=E7=A0=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DocumentEntity/EventCodeCompiler.cs | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/DocumentManagement/DocumentEntity/EventCodeCompiler.cs b/DocumentManagement/DocumentEntity/EventCodeCompiler.cs index b3dd192..5b09636 100644 --- a/DocumentManagement/DocumentEntity/EventCodeCompiler.cs +++ b/DocumentManagement/DocumentEntity/EventCodeCompiler.cs @@ -22,7 +22,7 @@ namespace DocumentManagement public CompilerResults cr; public Type type; - + private WriterControl myEdit; private ElementEventTemplate eet; public bool IsLoad = false; @@ -32,6 +32,7 @@ namespace DocumentManagement public EventCodeCompiler(ref WriterControl myEditControl, string strMouseClickEvent, string strContentChangedEvent) { + myEdit= myEditControl; eet = new ElementEventTemplate(); eet.MouseClick += new ElementMouseEventHandler(eetChk_MouseClick); eet.MouseDblClick += Eet_MouseDblClick; @@ -53,11 +54,17 @@ namespace DocumentManagement { var clip = Clipboard.GetText()?.Trim(); - xife.Text = clip; - args.Cancel = true; - return; + args.InsertingElements.Clear(); - args.InsertingElements.Add(new XTextStringElement() { Text = clip }); + args.InsertingElements.AddRange(clip.Select(c => new XTextCharElement { Text = c.ToString() })); + return; + //xife.Text = clip; + args.Cancel = true; + xife.InsertBefore(new XTextBlockElement { Text = clip }, xife.NextElement); + //myEdit.Refresh(); + xife.Parent.EditorRefreshView(); + var pos = myEdit.SelectionStartPosition; + return; } //byte[] originalBytes = Encoding.UTF8.GetBytes(txt); // 这里使用 UTF8 是假设或猜测 //string decodedString = Encoding.GetEncoding("GB2312").GetString(originalBytes); // 用其他编码尝试解码 @@ -69,16 +76,6 @@ namespace DocumentManagement private void Eet_KeyUp(object eventSender, ElementKeyEventArgs args) { - // 判断 Ctrl 键是否被按下 - if ((Control.ModifierKeys & Keys.Control) == Keys.Control) - { - // 判断 V 键是否被按下 - if (args.KeyCode == Keys.V) - { - // Ctrl+V 被按下,执行相应的操作 - MessageBox.Show("Ctrl+V was pressed!"); - } - } if (args.KeyCode == Keys.V && args.Control == true) { if ((eventSender as XTextDocument).CurrentInputField != null)