欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼

 更新時(shí)間:2022年07月29日 11:34:16   作者:yue008  
本文主要介紹了C#實(shí)現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

功能目標(biāo)

使用Treeview控件實(shí)現(xiàn)點(diǎn)左邊的節(jié)點(diǎn),在右邊顯示相關(guān)的頁(yè)面

知識(shí)點(diǎn)

Treeview

命名空間:System.Windows.Forms
程序集:System.Windows.Forms.dll

顯示標(biāo)記項(xiàng)的分層集合,每個(gè)標(biāo)記項(xiàng)用一個(gè) TreeNode 來(lái)表示。

private void InitializeTreeView()
{
    treeView1.BeginUpdate();
    treeView1.Nodes.Add("Parent");
    treeView1.Nodes[0].Nodes.Add("child1");
    treeView1.Nodes[0].Nodes.Add("child2");
    treeView1.Nodes[0].Nodes[1].Nodes.Add("Grandchild");
    treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Great Grandchild");
    treeView1.EndUpdate();
}

對(duì)應(yīng)treeview控件的詳細(xì)介紹,可參考另一篇文章

Form.MdiParent 屬性

獲取或設(shè)置此窗體的當(dāng)前多文檔界面 (MDI) 父窗體。

Windows 窗體應(yīng)用程序中,經(jīng)常會(huì)在一個(gè)窗體中打開(kāi)另一個(gè)窗體, 通過(guò)窗體上的不同菜單選擇不同的操作,這種在一個(gè)窗體中打開(kāi)另一個(gè)窗體的方式可以通過(guò)設(shè)置 MDI 窗體的方式實(shí)現(xiàn)

MDI (Multiple Document Interface) 窗體被稱為多文檔窗體,它是很多 Windows 應(yīng)用程序中常用的界面設(shè)計(jì)

MDI 窗體的設(shè)置并不復(fù)雜,只需要將窗體的屬性 IsMdiContainer 設(shè)置為 True 即可。

this.IsMdiContainer = True;

案例介紹

創(chuàng)建 MDI 窗體,并在該窗體上設(shè)置菜單,包括打開(kāi)文件、保存文件兩個(gè)菜單項(xiàng)。

1.使用控件ContentMenuStrip,創(chuàng)建兩個(gè)子菜單

2.在Form主窗體的ContentMenuStrip屬性關(guān)聯(lián)此控件,并在屬性isMdiContainer修改為T(mén)rue.

3.子菜單事件代碼編寫(xiě)。在每個(gè)子菜單的click事件中編寫(xiě)如下代碼

//保存文件
            SaveFile sf = new SaveFile();
            sf.FormBorderStyle = FormBorderStyle.None;
            sf.MdiParent = this;
            sf.Show();
//打開(kāi)文件
            OpenFile OpF = new OpenFile();
            OpF.FormBorderStyle = FormBorderStyle.None;
            OpF.MdiParent = this;
            OpF.Show();

遺留點(diǎn)

問(wèn)題1:在MdiParent窗體調(diào)用子窗體時(shí),如果返回父窗體,不知如何返回

問(wèn)題2:嵌套系列,A作為父窗體,把B窗體作為子窗體,但B和C的關(guān)系,B相對(duì)于C屬于父窗體,C屬于子窗體。

知識(shí)延伸

子窗體和父窗體相互傳值

SplitContainer

命名空間:System.Windows.Forms
程序集:System.Windows.Forms.dll

表示一個(gè)由可移動(dòng)條組成的控件,該可移動(dòng)條將容器的顯示區(qū)域分成兩個(gè)大小可調(diào)的面板。

操作步驟

畫(huà)面組態(tài)

  • 添加Treeview和splitcontainer控件。
  • 創(chuàng)建四個(gè)畫(huà)面,四個(gè)畫(huà)面的name屬性分別為:xiaomi、huawei、BWM、benchi;

代碼編寫(xiě)

目錄樹(shù)代碼編寫(xiě),創(chuàng)建兩個(gè)父節(jié)點(diǎn),汽車(chē)和手機(jī),其中汽車(chē)父節(jié)點(diǎn)下面有奔馳和寶馬兩個(gè)子節(jié)點(diǎn)。手機(jī)父節(jié)點(diǎn)下面有小米和華為兩個(gè)子節(jié)點(diǎn)。

代碼觸發(fā)事件為窗體的加載(Load)

private void Form1_Load(object sender, EventArgs e)
        {
            TreeNode tn1 = new TreeNode("手機(jī)");
            TreeNode tn2 = new TreeNode("汽車(chē)");

            tn1.Nodes.Add("小米");
            tn1.Nodes.Add("華為");
            tn2.Nodes.Add("寶馬");
            tn2.Nodes.Add("奔馳");

            treeView1.Nodes.Add(tn1);
            treeView1.Nodes.Add(tn2);
        }

點(diǎn)擊目錄樹(shù)上子節(jié)點(diǎn),獲取Treeview控件的selectnode屬性的text文本值,根據(jù)text文本值的不同,進(jìn)行畫(huà)面切換其中text文本代表節(jié)點(diǎn)的內(nèi)容。畫(huà)面進(jìn)行切換,畫(huà)面顯示則利用splitcontainer控件。

 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            switch (treeView1.SelectedNode.Text)
            {
                case "小米":
                    splitContainer1.Panel2.Controls.Clear();
                    xiaomi xm = new xiaomi();
                    //xm.MdiParent = this;
                    xm.Dock = DockStyle.Fill;
                    xm.FormBorderStyle = FormBorderStyle.None;
                    xm.TopLevel = false;
                    xm.Parent = this.splitContainer1.Panel2;
                    xm.Show();
                    break;
                case "華為":
                    splitContainer1.Panel2.Controls.Clear();
                    huawei hw = new huawei();
                    hw.Dock = DockStyle.Fill;
                    hw.FormBorderStyle = FormBorderStyle.None;
                    hw.TopLevel = false;
                    hw.Parent = this.splitContainer1.Panel2;
                    hw.Show();
                    break;
                case "寶馬":
                    splitContainer1.Panel2.Controls.Clear();
                    BWM bwm = new BWM();
                    bwm.Dock = DockStyle.Fill;
                    bwm.FormBorderStyle = FormBorderStyle.None;
                    bwm.TopLevel = false;
                    bwm.Parent = this.splitContainer1.Panel2;
                    bwm.Show();
                    break;
                case "奔馳":
                    splitContainer1.Panel2.Controls.Clear();
                    benchi bz = new benchi();
                    bz.Dock = DockStyle.Fill;
                    bz.FormBorderStyle = FormBorderStyle.None;
                    bz.TopLevel = false;
                    bz.Parent = this.splitContainer1.Panel2;
                    bz.Show();
                    break;

            }
            
            
        }

動(dòng)畫(huà)演示

 到此這篇關(guān)于C#實(shí)現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼的文章就介紹到這了,更多相關(guān)C# 目錄跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#實(shí)現(xiàn)驗(yàn)證字符串的長(zhǎng)度的方法詳解

    C#實(shí)現(xiàn)驗(yàn)證字符串的長(zhǎng)度的方法詳解

    這篇文章主要為大家詳細(xì)介紹了C#如何使用正則表達(dá)或者計(jì)算字符數(shù)組長(zhǎng)度或字符串的長(zhǎng)度來(lái)驗(yàn)證驗(yàn)證字符串的長(zhǎng)度,感興趣的小伙伴可以學(xué)習(xí)一下
    2024-02-02
  • C# 時(shí)間與時(shí)間戳互轉(zhuǎn)的方法(13位)

    C# 時(shí)間與時(shí)間戳互轉(zhuǎn)的方法(13位)

    這篇文章主要介紹了C# 時(shí)間與時(shí)間戳互轉(zhuǎn)的方法(13位),詳細(xì)的介紹了常出現(xiàn)的幾種時(shí)間方式及其時(shí)間與時(shí)間戳互轉(zhuǎn)的方法,非常具有實(shí)用價(jià)值,希望此文章對(duì)各位有所幫助
    2018-10-10
  • 使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序

    使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序

    這篇文章主要介紹了使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • Unity接入高德開(kāi)放API實(shí)現(xiàn)IP定位

    Unity接入高德開(kāi)放API實(shí)現(xiàn)IP定位

    這篇文章主要為大家介紹了Unity如何接入高德開(kāi)放API實(shí)現(xiàn)IP定位功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下
    2022-04-04
  • C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求的方法分析

    C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求的方法分析

    這篇文章主要介紹了C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求的方法,結(jié)合實(shí)例形式分析了C#使用HttpWebRequest類與System.IO類實(shí)現(xiàn)發(fā)送HTTP請(qǐng)求相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • c#判斷正確的ip地址格式示例

    c#判斷正確的ip地址格式示例

    這篇文章主要介紹了c#判斷正確的ip地址格式示例,需要的朋友可以參考下
    2014-02-02
  • 淺析.NET中AsyncLocal的實(shí)現(xiàn)原理

    淺析.NET中AsyncLocal的實(shí)現(xiàn)原理

    這篇文章主要為大家詳細(xì)介紹了.NET中AsyncLocal的具體實(shí)現(xiàn)原理,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,如果有講得不清晰或不準(zhǔn)確的地方,還望指出
    2023-08-08
  • C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼的示例代碼

    C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼的示例代碼

    區(qū)位碼是一個(gè)4位的十進(jìn)制數(shù),每個(gè)區(qū)位碼都對(duì)應(yīng)著一個(gè)唯一的漢字,區(qū)位碼的前兩位叫做區(qū)碼,后兩位叫做位碼,下面我們就來(lái)看看如何使用C#實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼吧
    2024-01-01
  • C#實(shí)現(xiàn)飛行棋游戲

    C#實(shí)現(xiàn)飛行棋游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)飛行棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 10分鐘學(xué)會(huì)VS NuGet包私有化部署

    10分鐘學(xué)會(huì)VS NuGet包私有化部署

    本文主要介紹了10分鐘學(xué)會(huì)VS NuGet包私有化部署,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論