Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在if语句中,如何将所有messagebox连接到一个中?c#_C# - Fatal编程技术网

在if语句中,如何将所有messagebox连接到一个中?c#

在if语句中,如何将所有messagebox连接到一个中?c#,c#,C#,我有一个if语句,每当messagebox循环时都会打印它,我希望它只打印一次,在本例中,当循环结束时。我想把以前打印的所有信息连接到一个messagebox中 这是我的密码: private void PrintInOrder(Node node) // In-order { string nome = ""; bool flag = false; //do //{ // PrintInOrder

我有一个if语句,每当messagebox循环时都会打印它,我希望它只打印一次,在本例中,当循环结束时。我想把以前打印的所有信息连接到一个messagebox中

这是我的密码:

private void PrintInOrder(Node node) //   In-order
    {
        string nome = "";
        bool flag = false;
        //do
        //{
        //    PrintInOrder(node.lChild);
        //    Console.WriteLine(" " + node.value);
        //    nome += node.value;
        //    PrintInOrder(node.rChild);
        //} while (node != null);
        if (node != null)
        {
            PrintInOrder(node.lChild);
            //Console.WriteLine(" " + node.value);
            //nome += Environment.NewLine + node.value;    

            PrintInOrder(node.rChild);
            flag = true;
        }
        if (flag) MessageBox.Show("" + node.value);

    }

谢谢。

类似的东西怎么样

private void PrintInOrder(Node node, ref string currentLogMessage)
{
    string nome = "";
    bool flag = false;        
    if (node != null)
    {
        PrintInOrder(node.lChild, ref currentLogMessage);            
        PrintInOrder(node.rChild, ref currentLogMessage);
        flag = true;
    }
    if (flag) currentLogMessage += node.value + " ";
}

/*****************************************/

var logMessage = "";
PrintInOrder(myNode, ref logMessage);
MessageBox.Show(logMessage);

你试过什么?像这样的东西应该有用。。。创建一个变量来保存消息。每次调用时将其连接起来,然后在调用完成后显示它;string message=string.Join(“,”,messagebox.Select(x=>x.Text))@jdweng为什么想要一个文本框列表,不管它是什么?这与代码的简单化完全无关。文本框可能有顺序不正确的名称(而不是1,2,3,4)。还有一个列表比按名称搜索控件要快得多。它工作了,但不是按字母顺序打印:(nvm设法做到了,非常感谢。