如何删除 RichTextBox 中的间距?

2023-12-21

question https://stackoverflow.com/questions/22086131/error-cannot-convert-lambda-expression-to-type/22086615?noredirect=1#comment33498363_22086615

与这个问题相关,我想删除 Richtextbox 中的间距,因为显示始终包含如下间距:

Hello


Hello


Hello

我想修改将显示此文本的代码为:

Hello
Hello
Hello

我该怎么做呢?有谁知道?谢谢

这是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO.Ports;
using System.Threading;
using System.Windows.Threading;
using System.Data.SQLite;
using System.Text.RegularExpressions;

namespace SerialTrial
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>

    public class ThreadExample
    {
        FlowDocument mcFlowDoc = new FlowDocument();
        Paragraph para = new Paragraph();
        public static void ThreadJob(MainWindow mainWindow)
        {
            string dBConnectionString = @"Data Source = C:\Users\Documents\Visual Studio 2012\Projects\SerialTrial\SerialTrial\bin\Debug\employee.sqlite;";
            SQLiteConnection sqliteCon = new SQLiteConnection(dBConnectionString);
            //open connection to database
            try
            {
                sqliteCon.Open();
                SQLiteCommand createCommand = new SQLiteCommand("Select empID from EmployeeList", sqliteCon);
                SQLiteDataReader reader;
                reader = createCommand.ExecuteReader();


                //richtextbox2.Document.Blocks.Clear();
                while (reader.Read())
                {

                    string Text = (String.Format("{0}", Object.Equals(Variables.buffering, reader.GetValue(0))));
                    if (Convert.ToBoolean(Text))
                    {
                        mainWindow.Dispatcher.Invoke(new Action(() => 
                    mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run("Hello")))));
                        string text = "s";
                        mainWindow.WriteSerial(text);
                        Console.WriteLine(Text);
                        //richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text)));
                    }
                }
                sqliteCon.Close();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

    }


    public partial class MainWindow : Window
    {
        SerialPort serial = new SerialPort();
        //string received_data;
        //Thread readThread = new Thread(Read);
        FlowDocument mcFlowDoc = new FlowDocument();
        Paragraph para = new Paragraph();



        public MainWindow()
        {
            InitializeComponent();
            combobox1.Items.Insert(0, "Select Port");
            combobox1.SelectedIndex = 0;
            string[] ports = null;
            ports = SerialPort.GetPortNames();


            // Display each port name to the console. 
            int c = ports.Count();
            for (int i = 1; i <= c; i++)
            {
                if (!combobox1.Items.Contains(ports[i - 1]))
                {
                    combobox1.Items.Add(ports[i - 1]);
                }

            }
        }
        string dBConnectionString = @"Data Source = C:\Users\Documents\Visual Studio 2012\Projects\SerialTrial\SerialTrial\bin\Debug\employee.sqlite;";

        static int count = 0;

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            count++;
            string[] ports = null;
            ports = SerialPort.GetPortNames();


            // Display each port name to the console. 
            int c = ports.Count();
            for (int i = 1; i <= c; i++)
            {
                if (!combobox1.Items.Contains(ports[i - 1]))
                {
                    combobox1.Items.Add(ports[i - 1]);
                }

            }

        }

        private void combobox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
          string myItem = combobox1.SelectedItem.ToString();
          textbox1.Text = myItem;
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if ((string)button2.Content == "Connect")
                {
                    string myItem = combobox1.SelectedItem.ToString();
                    if (myItem == "Select Port")
                    {
                        MessageBox.Show("Select Port");
                    }
                    else
                    {
                        serial.PortName = myItem;
                        serial.Open();
                        textbox2.Text = "Serial Port Opened";
                        button2.Content = "Disconnect";
                        serial.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(port_DataReceived);

                    }
                }

                else
                {
                    serial.Close();
                    button2.Content = "Connect";
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        #region Receiving


        public void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {   
            int bytes = serial.BytesToRead;
            byte[] buffer = new byte[bytes];
            serial.Read(buffer, 0, bytes);
            foreach (var item in buffer)
            {
                Console.Write(item.ToString());
            }
            Variables.buffering = BitConverter.ToInt64(buffer, 0);
            Console.WriteLine();
            Console.WriteLine(Variables.buffering);
            Thread thread = new Thread(new ThreadStart(() => ThreadExample.ThreadJob(this)));
            thread.Start();
            thread.Join();
        }


        /*
        private delegate void UpdateUiTextDelegate(string text);
        private void Receive(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            // Collecting the characters received to our 'buffer' (string).
            received_data = serial.ReadExisting();
            Dispatcher.Invoke(DispatcherPriority.Send, new UpdateUiTextDelegate(WriteData), received_data);
        }

        private void WriteData(string text)
        {
            // Assign the value of the recieved_data to the RichTextBox.
            para.Inlines.Add(text);
            mcFlowDoc.Blocks.Add(para);
            richtextbox2.Document = mcFlowDoc;
            richtextbox2.ScrollToEnd();
        }
         */

        #endregion

        private void button3_Click(object sender, RoutedEventArgs e)
        {
            if (serial.IsOpen)
            {
                TextRange allTextRange = new TextRange(richtextbox1.Document.ContentStart, richtextbox1.Document.ContentEnd);
                string allText = allTextRange.Text;
                serial.WriteLine(allText);
            }
        }



        public void WriteSerial(string text)
        {
            serial.Write(text);
        }



    }
}

我想把它放在这个 if 函数中的某个地方:

 if (Convert.ToBoolean(Text))
                        {
                            mainWindow.Dispatcher.Invoke(new Action(() => 
                        mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run("Hello")))));
                            string text = "s";
                            mainWindow.WriteSerial(text);
                            Console.WriteLine(Text);
                            //richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text)));
                        }

尝试以下操作Regex

RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, @"^\s*$(\n|\r|\r\n)", "", RegexOptions.Multiline);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除 RichTextBox 中的间距? 的相关文章

  • 进入嵌入式[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 c11 标准和 clang 来使用 strcpy_s

    我正在运行 OS X Sierra 并尝试编译一个使用的 c 程序strcpy s 但是我安装的 clang 编译器使用的是 c99 标准 但是据我读到的 https embeddedgurus com barr code 2017 08
  • 如何有效地测试action是否用属性(AuthorizeAttribute)修饰?

    我正在使用 MVC 并且有一种情况OnActionExecuting 我需要确定即将执行的Action方法是否用属性修饰 AuthorizeAttribute尤其 我不是问授权是否成功 失败 而是问该方法是否需要授权 对于非 MVC 人员
  • 忽略父进程中的信号

    我正在尝试实现一个 shell 程序 我希望 shell 程序忽略 SIG INT ctrl c 但在我的程序中 子进程也会忽略 SIG INT 信号 但它不应该这样做 因为 exec 应该将子进程带到另一个程序 并且该程序默认情况下应该处
  • 合并多边形的高效算法

    我有一个多边形列表 在这个列表中 一些多边形重叠 或者接触其他多边形 我的任务是合并所有相互重叠或接触的多边形 我有一个union执行此操作的方法 做到这一点最有效的方法是什么 我目前能想到的是循环遍历多边形列表 检查合并列表以查看该多边形
  • 从 C# 访问 COM vtable

    C 中有没有办法访问 COM 对象的虚拟方法表以获取函数的地址 经过大量搜索和拼凑不同的部分解决方案后 我弄清楚了如何做到这一点 首先 您需要为您尝试访问的对象定义 COM 组件类 ComImport Guid InterfaceType
  • 如果我每次创建粒子时都强制重新初始化每个粒子,我是否应该使用粒子池

    我正在 XNA4 中创建一个粒子系统 但遇到了问题 我的第一个粒子系统是一个简单的粒子列表 其实例是在需要时创建的 但后来我读到了有关使用池的内容 我的第二个系统由一个充满粒子的池和一个发射器 控制器组成 我的池非常基本 这是代码 clas
  • 使用 Rhino Mocks 模拟集合

    所以我猜这是很多人想做的事情 模拟集合 过去我用 Rhino 做过这样的事情 var col mock MockRepository GenerateMock
  • 使用标准范围连接带有分隔符的字符串范围

    我想使用范围将跨度中包含的四个字节转换为字符串 这是输入和输出的示例 std span
  • 安全移动 C++ 对象

    我听到过一些警告 不要通过以下方式将对象运送到另一个内存位置memcpy 但不知道具体原因 除非它包含的成员做了依赖于内存位置的棘手事情 否则这应该是完全安全的 或者不是 编辑 预期的用例是像这样的数据结构vector 它存储对象 不是po
  • 在另一个类中使用一个类对象?

    我正在用 c 制作应用程序 在该应用程序中 我有一个类DataCapture cs 在同一个应用程序中 我有另一个类Listner cs 在 Listner cs 类中 我想使用以下对象DataCapture cs不创建新对象DataCap
  • ld: 无法对非 PE 输出文件执行 PE 操作错误

    我是操作系统编程的新手 我正在读一本书 其中给出了一个简单的内核示例 如下所示 main char video memory 0xb8000 video memory X 为了编译这个名为 kernel c 的文件 我在 Windows 7
  • 在运行时生成可执行文件

    好吧 所以我想知道如何创建一个程序 该程序创建第二个程序 就像大多数压缩程序如何创建自解压自可执行文件一样 但这不是我需要的 假设我有 2 个程序 每个都包含一个类 我将使用一个程序来修改类并用数据填充类 第二个文件将是一个也具有该类的程序
  • 是否有普遍接受的 GMP 替代方案来实现任意精度? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在寻找 BigInt 库的过程中 我发现了这篇文章 Microsoft Windows 上的 C 或
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • 如何使用 XmlSerializer 生成标记前缀

    我想使用 XmlSerializer 生成以下内容
  • 我的 C 程序无法运行,并显示“无法执行二进制文件:Exec 格式错误”

    我刚刚从 C 开始 我试图编译下面的代码并执行它 但出现错误 也在运行sizeBS 或数据堆栈中没有显示任何内容 include
  • 编写一个转储屏幕像素的 RDP 客户端

    我想在中实现 RDP 客户端C 它能够获取屏幕所有像素的颜色值并将它们转储到文件中 我知道这在概念上与 RDP 的工作方式不同 但我的应用程序需要它 我正在尝试利用freerdp https github com FreeRDP FreeR
  • WPF 网络浏览器在 Adob​​e 阅读器窗口中打开 PDF 文件

    我正在创建一个 32 位 WPF 应用程序 它需要在 WebBrowser 控件中显示创建的 PDF 在做的同时 WebBrowser Navigate new Url D TestPDF MyDocument pdf 它在 Adob e
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl

随机推荐