2013-10-27 6 views
1

Я довольно новичок в C#, но хочу сделать себе консоль отладки в форме dbg. И я хочу, чтобы цвет и полужирный переменные, которые приходят к нему, я сделал функцию, чтобы легко писать в консоль:C# Богатая текстовая раскраска и полужирный шрифт

private void writtodbg(string x, string y) 
    { 
     string a = Convert.ToString(x); 
     string b = Convert.ToString(y); 

     Debug.rTB1.AppendText(a, Color.Orange); // bold 
     Debug.rTB1.AppendText(" = "); // bold 
     Debug.rTB1.AppendText(b + Environment.NewLine, Color.Orange); // bold 

    } 

Но тогда возникает ошибка, которая говорит: «Нет перегрузки метода„AppendText“не принимает 2 аргумента ».

+0

Почему вы думаете, что вы можете передать два аргумента AppendText? И почему нужно решить, из всех доступных вариантов, передать переменную типа Color? Почему бы вам не начать понимать, как использовать данный элемент управления (даже до начала использования AppendText), а не пытаться использовать бессмысленные комбинации? – varocarbas

+0

http://stackoverflow.com/questions/1683779/simple-text-color-in-rich-text-box?rq=1 и http://stackoverflow.com/questions/7923919/how-to-make-some -text-жирный-в-богатый текст-бокс-с острым? RQ = 1 –

ответ

3

Это потому, что AppendText() может принимать только строку. Вы не можете указать цвет. Если вы видите код где-то в сети, у которого есть синтаксис, то это, вероятно, специальный класс RichTextBox, где кто-то добавил эту способность.

попробовать что-то вроде этого:

private void writtodbg(string x, string y) 
    { 
     AppendText(x, Color.Orange, true); 
     AppendText(" = ", Color.Black, false); 
     AppendText(y + Environment.NewLine, Color.Orange, true); 
    } 

    private void AppendText(string text, Color color, bool bold) 
    { 
     Debug.rTB1.SelectionStart = Debug.rTB1.TextLength; 
     Debug.rTB1.SelectionColor = color; 
     Debug.rTB1.SelectionFont = new Font(Debug.rTB1.Font, bold ? FontStyle.Bold : FontStyle.Regular); 
     Debug.rTB1.SelectedText = text; 
    }