Esempio n. 1
0
        public static void setProgressBar(Form form, ProgressBar pbr)
        {
            if (pbr.InvokeRequired)
            {
                setProgressDelegate pbRunner = new setProgressDelegate(setProgressBar);

                form.Invoke(pbRunner, new object[] { form, pbr });
            }
            else
            {
                pbr.Refresh();
                pbr.Value += 1;
            }
        }
Esempio n. 2
0
File: Form1.cs Progetto: eglrp/Jonce
        /// <summary>
        /// 绘制处理的主代码
        /// </summary>
        /// <param name="objPath"></param>
        private void doDraw(object objPath)
        {
            setProgressDelegate setProg = new setProgressDelegate(setProgress);
            setNodeTextDelegate setNode = new setNodeTextDelegate(setNodeText);

            string path = objPath as string;

            this.progressPanel1.Invoke(setProg, true);
            //this.progressPanel1.Visible = true;
            CFileHelper fileHelper = new CFileHelper();
            //获取及分析所有C代码文件
            List <CType> cTypeList = fileHelper.GetAllCFile(path);
            //treeGX.Node节点用style
            ElementStyle style = new ElementStyle();

            //节点文字颜色设置
            style.TextColor = Color.Blue;
            for (int i = 0; i < cTypeList.Count; i++)
            {
                CType item = cTypeList[i];
                if (string.IsNullOrWhiteSpace(textBox1.Text))
                {
                    //以“.c”文件为绘制主体,分析并递归绘制其中的include关系
                    if (Path.GetExtension(item.FullPath).ToLower() == ".c")
                    {
                        Console.WriteLine(DateTime.Now.ToString() + "\t" + item.FullPath);
                        Node cNode = creatNode(item.FileName, ref this.node1);
                        loopDraw(cTypeList, item.FileName, ref cNode);
                    }
                }
                else
                {
                    if (item.FileName == textBox1.Text)
                    {
                        Console.WriteLine(DateTime.Now.ToString() + "\t" + item.FullPath);
                        Node cNode = creatNode(item.FileName, ref this.node1);
                        loopDraw(cTypeList, item.FileName, ref cNode);
                    }
                }
            }
            this.treeGX1.Invoke(setNode, path);
            this.progressPanel1.Invoke(setProg, false);
        }