小编The*_*eBW的帖子

如何通过索引从字符串中获取char?

假设我有一个由x个未知字符组成的字符串.我怎么能得到char.13或char nr.X-14?

python string

83
推荐指数
3
解决办法
34万
查看次数

其他线程完成后,文本框仅更新

几天来,我一直试图弄清楚如何使用make console update text-box作为执行.我得出结论,线程对于同时运行表单和控制台进程是绝对必要的.进程本身是独立的程序,所以我使用标准输出来获取信息,如果我不需要它更新文本框作为其工作,它会很好,但问题是它只在执行过程后更新事实上,虽然我使用多线程.

是为运行进程并处理输出的函数创建委托的开始,以及我用于在线程和锁之间交换信息的字符串:

    private static readonly object _locker = new object();
    volatile string exchange = "";
    delegate void CallDelegate(string filename);
Run Code Online (Sandbox Code Playgroud)

这是功能本身:

    public void CallConsole(string filename)
    {
        Thread.CurrentThread.Name = "ProccessThread";
        Thread.CurrentThread.IsBackground = false;
        Process p = new Process();
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        p.StartInfo.RedirectStandardError = true;
        p.StartInfo.FileName = filename;
        if (checkBox1.Checked)
            p.StartInfo.CreateNoWindow = true;
        string output;
        p.Start();
        while (!p.HasExited)
        {
            lock (_locker)
            {
                output = p.StandardError.ReadToEnd();
                if (output.Length != 0)
                {
                    exchange = output;
                    Thread.Sleep(100);
                    MessageBox.Show(output);
                }
                output …
Run Code Online (Sandbox Code Playgroud)

c# multithreading process winforms

1
推荐指数
1
解决办法
751
查看次数

标签 统计

c# ×1

multithreading ×1

process ×1

python ×1

string ×1

winforms ×1