首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

可不可以在richtextbox/textbox里想Console.WriteLine()一样的输出

2013-04-09 
可否在richtextbox/textbox里想Console.WriteLine()一样的输出各位前辈,在下想请教一下可否在richtextbox/

可否在richtextbox/textbox里想Console.WriteLine()一样的输出
各位前辈,在下想请教一下可否在richtextbox/textbox里想Console.WriteLine()一样带格式(如以16进制输出,固定输出几位)的输出。
例如在控制台程序下的代码:

                            
[解决办法]
用string.Format。

public partial class Form1 : Form
{
    public Form1()
    {
        TextBox consoleTextBox = new TextBox()
        {
            Multiline = true,
            Font = new Font(FontFamily.GenericMonospace, 9),
            Dock = DockStyle.Fill,
        };
        this.Controls.Add(consoleTextBox);

        MyConsole.OnWrite = str =>
        {
            consoleTextBox.BeginInvoke((Action)delegate { consoleTextBox.AppendText(str); });
        };

    }

    protected override void OnActivated(EventArgs e)
    {
        base.OnActivated(e);


        MyConsole.WriteLine("hello");
        MyConsole.Write("{0:X8}", 123);
        for(int i=0; i<4; i++) MyConsole.Write(" {0:X2}",i);
    }
}

public static class MyConsole
{
    public static Action<string> OnWrite {get; set;}
    public static void Write(string format, params object[] args)
    {
        Action<string> onWrite = OnWrite;
        if(onWrite != null) onWrite(string.Format(format, args));
    }
    public static void WriteLine(string format, params object[] args)
    {
        Write(format, args);
        Write(Environment.NewLine);
    }
}


[解决办法]
引用:
请问拖进去的控件和用代码创建的控件有什么区别?例如二楼的代码我应该怎么改成拖进去的控件,我没改明白……求前辈指教!
你把他所有添加控件的代码去掉,控件变量名换成你的就是了。注意在InitializeComponent()函数后调用控件相关代码。

热点排行