gpt4 book ai didi

c# - 来自 Windows 窗体控件的控制台输入

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:49 25 4
gpt4 key购买 nike

我正在创建一个应用程序,它从控制台接收输出并使用 Windows 窗体通过列表框将其显示在对用户更友好的 View 中。我通过启动 .jar 文件的进程并使用以下代码来完成此操作:

 public void DataReceived(object sender, DataReceivedEventArgs e)
{
// e.Data is the line which was written to standard output
if (e.Data != null)
{
// textBox1.Invoke((MethodInvoker)delegate { textBox1.Text = textBox1.Text + e.Data; });
Invoke(new MethodInvoker(delegate { listBox1.Items.Add(e.Data); }));
}
}
public void StartServer()
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo("java", @"-Xmx1024M -jar " + UltimateMinecraftServerCreator.Properties.Settings.Default.jarname);
p.StartInfo.WorkingDirectory = UltimateMinecraftServerCreator.Properties.Settings.Default.jarlocator;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.OutputDataReceived += DataReceived;
p.Start();
p.BeginOutputReadLine();
}

我想知道是否可以在同一个表单上允许用户单击将向控制台发送命令的按钮,以及他们是否能够键入知道的命令。

谢谢!

最佳答案

终于解决了!真的很简单,我将 Process p 的声明移到所有控件代码之上,因此它变得通用并且能够使用 p.StandardInput.WriteLine("");

关于c# - 来自 Windows 窗体控件的控制台输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com