簡體   English   中英

在 winform 上突出顯示字符串之間的差異

[英]Highlight differences between strings on winform

我希望有人能在這里幫助我,並且這個問題不會太模糊。

我正在嘗試確定一種可以突出顯示 winform 中兩個文本字符串之間差異的方法。

我在數據網格的一列中有原始字符串,在第二列中有要比較的字符串。 我想突出顯示數據網格視圖本身中比較字符串的不同之處。

例子:

Thanks for the hep

Thanks for the help!!

哪里的l和兩個! 將被突出顯示

我嘗試了以下方法(在上一篇文章中向 Bouam 尋求幫助):

for (int i = 0; i < TextProcessingResults.RowCount; i++)
{
    if (TextProcessingResults.Rows[i].Cells[1].Value != null)
    {
        if ((string)TextProcessingResults.Rows[i].Cells[1].Value != (string)TextProcessingResults.Rows[i].Cells[2].Value)
        {
            TextProcessingResults.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
        }
    }
}

但這只會突出顯示哪些行在字符級別不同。 我對這一切都不熟悉,所以這是一個瘋狂的嘗試嗎?

有人可以幫助或指出我有用的資源嗎?

您可以基於RichTextBox創建一個新的DatGridViewColumn ,然后使用新的富文本列來突出顯示富文本中的差異。

這可能會幫助您:

這是基於此的輸出:

在此處輸入圖片說明

您可以應用需要比較字符串與列的差異的算法,並使用此DataGridViewRichTextBoxColumn突出顯示差異。

要了解有關創建自定義 datagridview 列類型的更多信息,您可以查看為 DataGridView 控件構建自定義 NumericUpDown 單元格和列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM