2012-12-16 126 views
3

我正在嘗試爲使用C#的在線遊戲創建數據包分析器,並且我是c#的新手。同時在2個文本框中突出顯示文本

我有2個RichTextBoxes,1顯示字節數據包,另一個顯示ANSI數據包。

這裏是我想達到的目標:

  1. 當我選擇(高亮)中的數據字節的文本框,我想在ANSI文本框中輸入相應的數據也將得到強調。 (反之亦然)

  2. 當我在1個文本框中更改數據時,我希望其他文本框中的相應數據也被更改。

我該怎麼做?

+0

這是的WinForms或WPF? – Blachshma

+0

winforms。我甚至不知道什麼WPF – 0x64

+0

這很有趣,你到目前爲止做了什麼? – spajce

回答

1

你通常會做這種基於像onHighlightedTextChanged事件的事情,但因爲這樣的事件不存在,它是一個更容易的解決方案有一個計時器下面的代碼:

textBox2.Focus(); 
textBox2.SelectionStart = textBox1.SelectionStart; 
textBox2.SelectionLength = textBox1.SelectionLength; 

有了這個代碼更新每10毫秒(或任何你設置它),它似乎是動態高亮文本。

對於數據的一個文本框到另一個的變化,你可以用下面的代碼使用事件TextChanged

textbox2.Text = ByteToAscii(textbox1.Text) 

哪裏ByteToAscii是你自己的功能

+0

有趣的解決方案..但不可能用OnFocus或/和OnFocusLost等一些其他事件(s?)來實現同樣的事情嗎? @ user1907736:這個變化是否直接發生至關重要? – Kjartan

+0

您可以通過「OnMouseUp」(用於通過鼠標進行選擇)和「OnKeyUp」(用於通過鍵盤進行選擇) – ean5533