【问题标题】:IronPython | Redirect Output To Textbox铁蟒 |将输出重定向到文本框
【发布时间】:2020-06-11 13:04:44
【问题描述】:

好吧,假设我在 C# 中使用 IronPython 执行脚本:

ScriptEngine engine = Python.CreateEngine();
string Script = textBox1.Text();
engine.Execute(Script);

现在假设脚本是:

print("Hello")

VS 控制台中的输出:你好 我在这里想要实现的是将输出重定向到 C# 中的 TextBox。我尝试了以下方法,但没有成功:

class TextBoxWriter : TextWriter
{
    private RichTextBox _textBox;

    public TextBoxWriter(RichTextBox textbox)
    {
        _textBox = textbox;
    }

    public override void Write(char value)
    {
        base.Write(value);
        _textBox.AppendText(value.ToString());
    }

    public override System.Text.Encoding Encoding
    {
        get { return System.Text.Encoding.UTF8; }
    }
}

Form1_Load:

engine.Runtime.IO.RedirectToConsole();
TextWriter _writer = TextWriter.Synchronized(new TextBoxWriter(textBox1));
Console.SetOut(_writer);

【问题讨论】:

    标签: python c# output ironpython


    【解决方案1】:

    我的代码中就有这个,它对我有用。

    engine.Runtime.IO.RedirectToConsole();    
    Console.SetOut(new TextBoxWriter(textBox1)); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 2018-08-29
      • 2011-02-22
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多