当前位置: 首页>>代码示例>>C#>>正文


C# System.Windows.Forms.TreeNode.ExpandAll方法代码示例

本文整理汇总了C#中System.Windows.Forms.TreeNode.ExpandAll方法的典型用法代码示例。如果您正苦于以下问题:C# System.Windows.Forms.TreeNode.ExpandAll方法的具体用法?C# System.Windows.Forms.TreeNode.ExpandAll怎么用?C# System.Windows.Forms.TreeNode.ExpandAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Forms.TreeNode的用法示例。


在下文中一共展示了System.Windows.Forms.TreeNode.ExpandAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Program

        //////////////////////////////////////////////////////////////////////////
        /* Program = "class" ident { ConstDecl | VarDecl | ClassDecl }
         *           "{" { MethodDecl } "}" . */
        // First(Program)={class};  Follow(Program)={eof}
        static void Program()
        {
            //Program1.form1.treeView1.ExpandAll();
            System.Windows.Forms.TreeNode program = new System.Windows.Forms.TreeNode();  //Crea el nodo program

            if (Parser.muestraProducciones)
            {

            program.Text = "Program"; //Texto del nodo "program"
            Program1.form1.treeView1.Nodes.Add(program); //"cuelga" el nodo (raiz) "program" del treeView1 ya creado

            Parser.MessageBoxCon3Preg();

            Code.seleccLaProdEnLaGram(0);  //pinta de rojo    Program = 'class' ident PosDeclars '{' MethodDeclsOpc '}'.

            //Code.cargaProgDeLaGram("Program = 'class' ident PosDeclars '{' MethodDeclsOpc '}'.");

            Parser.MessageBoxCon3Preg();

            program.Nodes.Add("class");
            //Program1.form1.treeView1.Refresh();
            //Program1.form1.treeView1.Update();
            program.ExpandAll(); //Visualiza (Expande) hijo de Program

            Parser.MessageBoxCon3Preg();
            }

            //antes del Check (Token.CLASS), token = ...(1,1),  laToken = ..."class".. y la = Token.CLASS
            Check(Token.CLASS);   //class ProgrPpal
            //Se cumple que:  (la == expected) => ejecuta Scan => token = ..."class"... y laToden = ..."ProgrPpal"

            Code.coloreaConRojo("token");
            //Code.coloreaConRojo(true);   //colorea "class" en ventana de Edicion
            //El argumento "true" => que lo que va a colorear es "el token" (en este caso: "class").
            //Si el arg es "false" => que lo que va a colorear es "el laToken"

            //"Program = 'class' ident PosDeclars '{' MethodDeclsOpc '}'."
            //Ya reconoció 'class', ahora va a reconocer ident
            program.Nodes.Add("ident");
            Parser.MessageBoxCon3Preg();

            Check(Token.IDENT); // "ProgrPpal" => debo insertar el token en la tabla de símbolos
                            // es el comienzo del programa y abrir un nuevo alcance
            //Ahora token = "ProgrPpal" y laToken = "{"

            Code.coloreaConRojo("token");
            //Code.coloreaConRojo(true);  //"class" ya lo pintó, ahora pinta "ProgrPpal"  (lo que hay en token)

            Symbol prog = Tab.Insert(Symbol.Kinds.Prog, token.str, Tab.noType);//lo cuelga de universe

            Code.CreateMetadata(prog);

            Tab.OpenScope(prog); //topScore queda ahora apuntando a un nuevo Scope
                         //El Scope anterior (universo) lo accedo via topScore.outer
            //Ya analizó Class ProgrPpal

            //Declaraciones (de ctes, de Globals(aunque diga de vars) y de clases)
            //hasta q venga una "{"

            //"Program = 'class' ident PosDeclars '{' MethodDeclsOpc '}'."
            //Ya reconoció ident, ahora va a reconocer PosDeclars
            System.Windows.Forms.TreeNode posDeclars = new System.Windows.Forms.TreeNode("PosDeclars");
            program.Nodes.Add(posDeclars);  //Cuelga un TreeNode porque PosDeclars es No Terminal
            Parser.MessageBoxCon3Preg();

            Code.seleccLaProdEnLaGram(1);  //"PosDeclars = . | Declaration PosDeclars.";
            Parser.MessageBoxCon3Preg();

            //bool existeDecl = false;

            //bool bandarita = false; // bandera se encarga de verificar si existen declaraciones globales,constantes etc.
            //"Declaration = ConstDecl | VarDecl | ClassDecl."

            while (la != Token.LBRACE && la != Token.EOF) //Si no existen declaraciones, la = Token.LBRACE
            {
            Code.coloreaConRojo("latoken");
            //Code.coloreaConRojo(false); //si existiera una declaracion, as "int i", colorea "int";  (yaPintado = true)
            //El argumento "false" => que no debe pintar el "token" (que en este caso seria "ProgrPpal"), sino el laToken (que es "int")

            //en este caso, debe "mirar hacia adelante" (laToken)
            //para determinar la opcion de la produccion "PosDeclars = . | Declaration PosDeclars."
            //Si laToken es "{" => la opcion es "PosDeclars = .", otherwise: "PosDeclars = Declaration PosDeclars."

            //Code.cargaProgDeLaGram("PosDeclars = Declaration PosDeclars.");
            Code.seleccLaProdEnLaGram(2);

            //Code.cargaProgDeLaGram("Declaration = ConstDecl | VarDecl | ClassDecl.");
            System.Windows.Forms.TreeNode hijodeclar = new System.Windows.Forms.TreeNode("Declaration = ConstDecl | VarDecl | ClassDecl.");
            posDeclars.Nodes.Add(hijodeclar);

            //existeDecl = true;

            switch (la)
            {
                case Token.CONST:
                    ConstDecl(hijodeclar);
//.........这里部分代码省略.........
开发者ID:MatiaseTudela,项目名称:compi-version-8-2013,代码行数:101,代码来源:Parser.cs


注:本文中的System.Windows.Forms.TreeNode.ExpandAll方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。