I have a simple program that sniff ip packets.
in this porgram I have a textbox that show received values. receiving values are so fast and lots of numbers.(small but huge number in small time)
this happens by this code: (note: I've used append text before and listbox instead of textbox but high cpu usage happend)
delegate void SetTextCallback(string text);
private void SetText(string text)
        {            
            if (txtInfo.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetText);                
                this.BeginInvoke(d, new object[] { text });
            }
            else
            {               
                txtInfo.Text+=text;
            }
        }
when receiving new value set text by this code:
SetText(MakeIPTreeNode(ipHeader)); //MakeIPTreeNode(ipHeader) : is some string value
is there any threading approach for solving high cpu usage? I know that this problem is for bad coding architecture
thanks