91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#怎么實現樹形圖列表

發布時間:2022-12-13 09:23:16 來源:億速云 閱讀:169 作者:iii 欄目:開發技術

這篇“C#怎么實現樹形圖列表”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C#怎么實現樹形圖列表”文章吧。

效果

C#怎么實現樹形圖列表

代碼

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    #region 將MenuStrip控件中的信息添加到TreeView控件中

    /// <summary>
    /// 將MenuStrip控件中的首行命令項添加到TreeView控件中
    /// </summary>
    /// <param treeV="TreeView">TreeView控件</param>
    /// <param MenuS="MenuStrip">MenuStrip控件</param>
    public void GetMenu(TreeView treeV, MenuStrip MenuS)
    {
        bool Var_Bool = true;
        for (int i = 0; i < MenuS.Items.Count; i++) //遍歷MenuStrip組件中的一級菜單項
        {
            //將一級菜單項的名稱添加到TreeView組件的根節點中,并設置當前節點的子節點newNode1
            TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);
            if (MenuS.Items[i].Enabled == false) //判斷當前項是否為可用
            {
                newNode1.ForeColor = Color.Silver; //改變樹節點的字體顏色為不可用色
                Var_Bool = false;
            }
            else
            {
                newNode1.ForeColor = Color.Black; //改變樹節點的字體顏色為可用色
                Var_Bool = true;
            }

            newNode1.Tag = 0; //標識,有子項的命令項
            //將當前菜單項的所有相關信息存入到ToolStripDropDownItem對象中
            ToolStripDropDownItem newmenu = (ToolStripDropDownItem) MenuS.Items[i];
            GetCavernMenu(newNode1, newmenu, Var_Bool); //添加多層命令項
        }
    }

    /// <summary>
    /// 將MenuStrip控件中的多層命今項添加到TreeView控件中
    /// </summary>
    /// <param newNodeA="TreeNode">TreeNode對象</param>
    /// <param newmenuA="ToolStripDropDownItem">ToolStripDropDownItem對象</param>
    /// <param BL="bool">標識(是否可用)</param>
    public void GetCavernMenu(TreeNode newNodeA, ToolStripDropDownItem newmenuA, bool BL)
    {
        bool Var_Bool = true;
        if (newmenuA.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
            for (int j = 0; j < newmenuA.DropDownItems.Count; j++) //遍歷二級菜單項
            {
                //將二級菜單名稱添加到TreeView組件的子節點newNode1中,并設置當前節點的子節點newNode2
                TreeNode newNodeB = newNodeA.Nodes.Add(newmenuA.DropDownItems[j].Text);
                Var_Bool = true;
                if (BL == false) //判斷當前命令項的上一級命令是否可用
                {
                    newNodeB.ForeColor = Color.Silver; //設置當前命令項的字體顏色為不可用色
                    newNodeB.Tag = 0; //標識,不顯示相應的窗體
                    Var_Bool = false;
                }
                else
                {
                    if (newmenuA.DropDownItems[j].Enabled == false) //判斷當前命令項是否為可用
                    {
                        newNodeB.ForeColor = Color.Silver; //設置當前命令項的字體顏色為不可用色
                        newNodeB.Tag = 0; //標識,不顯示相應的窗體
                        Var_Bool = false;
                    }
                    else
                    {
                        newNodeA.ForeColor = Color.Black; //設置當前命令項的字體顏色為可用色
                        newNodeB.Tag = int.Parse(newmenuA.DropDownItems[j].Tag.ToString()); //標識,顯示相應的窗體
                    }
                }

                //將當前菜單項的所有相關信息存入到ToolStripDropDownItem對象中
                ToolStripDropDownItem newmenuB = (ToolStripDropDownItem) newmenuA.DropDownItems[j];
                if (newmenuB.HasDropDownItems && newmenuA.DropDownItems.Count > 0) //如果當前命令項有子項
                {
                    newNodeB.Tag = 0; //標識,有子項的命令項
                    GetCavernMenu(newNodeB, newmenuB, Var_Bool); //調用遞歸方法
                }
            }
    }

    #endregion

    #region 打開MenuStrip控件或TreeView控件相應的窗體

    /// <summary>
    /// 打開MenuStrip控件或TreeView控件相應的窗體
    /// </summary>
    /// <param n="int">標識</param>
    /// <param FName="string">名稱</param>
    public void frm_show(int n, string FName)
    {
        switch (n) //通過標識調用各子窗體
        {
            case 0: break;
            case 1:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 2:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 3:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 4:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 5:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 6:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 7:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 8:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 9:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 10:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 11:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 12:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 13:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 14:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 15:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 16:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 17:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 18:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 19:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 21:
            {
                //打開記事本
                System.Diagnostics.Process.Start("notepad.exe");
                break;
            }
            case 22:
            {
                //打開計算器
                System.Diagnostics.Process.Start("calc.exe");
                break;
            }
            case 23:
            {
                //打開WORD文檔
                System.Diagnostics.Process.Start("WINWORD.EXE");
                break;
            }
            case 24:
            {
                //打開EXCEL文件
                System.Diagnostics.Process.Start("EXCEL.EXE");
                break;
            }
            case 25:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 26:
            {
                if (MessageBox.Show("確認退出系統嗎?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) ==
                    DialogResult.OK)
                    Application.Exit(); //關閉當前工程
                break;
            }
            case 27:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 28:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 29:
            {
                Form2 fp = new Form2(); //實例化一個窗體
                fp.Text = FName; //設置窗體的名稱
                fp.ShowDialog(); //用模試對話框打開窗體
                fp.Dispose(); //釋放窗體的所有資原
                break;
            }
            case 30:
            {
                //打開幫助對話框
                MessageBox.Show("\t你可以到明日科技網站\t\n\n\t  得到你想知道的\n\t    謝謝使用!!");
                break;
            }
        }
    }

    #endregion

    private void Form1_Load(object sender, EventArgs e)
    {
        Frm_Logon F_Logon = new Frm_Logon();
        if (F_Logon.ShowDialog() == DialogResult.OK)
        {
            GetMenu(treeView1, menuStrip1); //將menuStrip1控件中的信息添加到treeView1控件中
        }
    }

    private void ToolStrip_1_Click(object sender, EventArgs e)
    {
        frm_show(Convert.ToInt16(((ToolStripMenuItem) sender).Tag.ToString()), ((ToolStripMenuItem) sender).Text);
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        frm_show(Convert.ToInt16(((ToolStripButton) sender).Tag.ToString()), ((ToolStripButton) sender).Text);
    }

    private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
    {
        frm_show(Convert.ToInt16(e.Node.Tag.ToString()), e.Node.Text);
    }
}

以上就是關于“C#怎么實現樹形圖列表”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

融水| 澜沧| 甘洛县| 祁阳县| 乌什县| 福贡县| 观塘区| 和平区| 昌图县| 正镶白旗| 保定市| 屏东县| 玛纳斯县| 资兴市| 阜南县| 昭苏县| 抚州市| 金平| 法库县| 荣昌县| 化隆| 濮阳市| 庆城县| 赤城县| 铜鼓县| 巴东县| 雷州市| 水城县| 泸西县| 澎湖县| 波密县| 平安县| 丹寨县| 广安市| 怀化市| 师宗县| 京山县| 明光市| 稻城县| 瑞昌市| 余姚市|