繁体   English   中英

C#Winform将格式化的文本从MySQL数据库检索到Richtextbox

[英]C# Winform Retrieving Formatted text from MySQL Database to Richtextbox

我正在尝试从datagridview检索选定的行数据并将其显示在RichTextBox中。

没有错误信息。 看来,当我单击一行时,它只会显示标题和ID之类的数据,而不显示RichTextBox中的内容。

这是一些屏幕截图以及我使用的代码。

下面是代码:

if (e.RowIndex >= 0)
        {

            string rtfText = this.rtxtinccon.Rtf.Replace(@"\", @"\\");
            btnPost.Enabled = true;
            DataGridViewRow row = this.dtvlist.Rows[e.RowIndex];

            #region strings

            lblincid.Text = row.Cells["IID"].Value.ToString();
            cbeid.Text = row.Cells["EID"].Value.ToString();
            txttitle.Text = row.Cells["Title"].Value.ToString();
            rtfText = row.Cells["Description"].Value.ToString();

            #endregion

        }

这是运行时

应用程式图片

我使用LONGTEXT utf8mb4_unicode_ci作为数据类型。

希望你能帮助我。 我已经搜索了所有可能的答案,但没有找到任何解决方案。

采用:

 RichTextBox1.Text = row.Cells["Description"].Value.ToString();

在您的代码中,您只是从RichTextBox获取内容作为字符串,并对该字符串进行了更改。 由于字符串本身是不可变的,因此您的更改不会反映在RichTextBox 因此,您需要再次将内容分配给RichTextBox控件。

您需要通过以下方式将文本设置到RtfTextBox控件中:

this.rtxtinccon.Rtf = row.Cells["Description"].Value.ToString();

您的内容不是Rtf格式。 例如,将此代码添加到#endregion之前:

this.rtxtinccon.Rtf = @"{\rtf\ansi This is some \b bold\b0 text.}"; // for example

参考: RichTextBox.Rtf属性

备注 :可以使用此属性将RTF格式的文本放入控件中以进行显示,或使用控件文本中定义的指定RTF格式提取控件的文本。 当您从另一个RTF源(例如Microsoft Word或Windows WordPad)将RTF文本分配给控件时,通常使用此属性。 如果在运行时更改RightToLeft属性,则仅保留未格式化的原始文本。 有关RTF代码,请参阅MSDN库中的“ RTF规范,版本1.6”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM