www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 充電吧
[導讀]C# 利用數(shù)據(jù)庫和MenuStrip控件動態(tài)生成菜單,設計如圖一,拖一個Menustrip控件。 設計實現(xiàn)如下: 1、數(shù)據(jù)庫設計: 列名 數(shù)據(jù)類型 允許NULL值 描述 MODULENAME nva

C# 利用數(shù)據(jù)庫和MenuStrip控件動態(tài)生成菜單,設計如圖一,拖一個Menustrip控件。

設計實現(xiàn)如下:

1、數(shù)據(jù)庫設計:

列名 數(shù)據(jù)類型 允許NULL值 描述 MODULENAME nvarchar(100) 不允許 系統(tǒng)名稱 SECTIONNAME nvarchar(100) 不允許 系統(tǒng)名稱 FUNCTIONNAME nvarchar(100) 不允許 功能模塊 SORTNO smallint 允許 PROMPTNAME nvarchar(100) 允許 creation_date datetime 允許 creation_by nvarchar(50) 允許 last_update_by nvarchar(50) 允許 last_update_date datetime 允許 description nvarchar(200) 允許 WEBPAGE nvarchar(200) 允許 設計頁面路徑 DISABLED smallint 允許 是否可用 MENU_I int 允許 子級菜單 MENU_J int 允許 父級菜單 EN_MENUNAME nvarchar(100) 允許 菜單英文名 CN_MENUNAME nvarchar(100) 允許 菜單中文名 TD_MENUNAME nvarchar(100) 允許 菜單繁體名

2、數(shù)據(jù)庫數(shù)據(jù)插入


INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 10000, 0, N'System', N'系統(tǒng)', N'系統(tǒng)')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 10020, 10000, N'-', N'-', N'-')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 10080, 10000, N'LogOut', N'切換帳號', N'切換帳號')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 10090, 10000, N'Exit', N'退出系統(tǒng)', N'退出系統(tǒng)')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'ChangePassword.frmChangePassword', 1, 10010, 10000, N'ChangePassword', N'修改密碼', N'修改密碼')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'基礎資料', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 50000, 0, N'BasicSetting', N'基礎設置', N'基礎設置')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'基礎資料', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'BasicSetting.frmBasicSetting', 1, 50010, 50000, N'Basic Setting', N'基礎資料設置', N'基礎資料設置')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 60000, 0, N'TEST Page', N'測試界面', N'測試界面')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest', 1, 60010, 60000, N'TEST Page 1', N'測試界面1', N'測試界面1')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest2', 1, 60020, 60000, N'TEST Page 2', N'測試界面2', N'測試界面2')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest3', 1, 60030, 60000, N'TEST Page 3', N'測試界面3', N'測試界面3')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest4', 1, 60040, 60000, N'TEST Page 4', N'測試界面4', N'測試界面4')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest5', 1, 60050, 60000, N'TEST Page 5', N'測試界面5', N'測試界面5')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.AnyTest6', 1, 60060, 60000, N'TEST Page 6', N'測試界面6', N'測試界面6')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'基礎資料', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'BasicSetting.frmVenderInfo', 1, 50020, 50000, N'Vender Info', N'客戶檔案設置', N'客戶檔案設置')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'基礎資料', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'BasicSetting.frmMaterialInfo', 1, 50030, 50000, N'Material Info', N'產(chǎn)品檔案設置', N'產(chǎn)品檔案設置')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'測試界面', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'TEST.frmEncryp', 1, 60070, 60000, N'EncryOrDecry', N'加密解密', N'加密解密')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'基礎資料', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'BasicSetting.frmMaterialInfo2', 1, 50040, 50000, N'Material Info 2', N'產(chǎn)品檔案設置2', N'產(chǎn)品檔案設置2')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'條碼管理中心', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 70000, 0, N'BarCode Center', N'條碼管理中心', N'條碼管理中心')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'條碼管理中心', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'Printing.frmPrintTest1', 1, 70010, 70000, N'BarCode Test 1', N'條碼打印測試1', N'條碼打印測試1')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'條碼管理中心', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 10030, 10000, N'System Tools', N'系統(tǒng)工具', N'系統(tǒng)工具')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'條碼管理中心', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 10031, 10030, N'記事本', N'記事本', N'記事本')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'條碼管理中心', NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'', 1, 10032, 10030, N'計算器', N'計算器', N'計算器')
INSERT [dbo].[MODULEFUNCTION_T] ([MODULENAME], [SECTIONNAME], [FUNCTIONNAME], [SORTNO], [PROMPTNAME], [creation_date], [creation_by], [last_update_by], [last_update_date], [description], [WEBPAGE], [DISABLED], [MENU_I], [MENU_J], [EN_MENUNAME], [CN_MENUNAME], [TD_MENUNAME]) VALUES (N'RobotWMS', N'RobotWMS', N'系統(tǒng)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 10040, 10000, N'-', N'-', N'-')


C#代碼實現(xiàn)如下:

頁面LOAD事件:

private void frmMainFrame_Load(object sender, EventArgs e)
        {            
            //加載菜單
            LoadMenu2();

        }


private void LoadMenu2()
        {
//從數(shù)據(jù)庫獲取菜單列表
            string sql = " SELECT T.MENU_I, T.MENU_J, T.EN_MENUNAME, T.CN_MENUNAME, T.TD_MENUNAME,webpage  FROM DBO.MODULEFUNCTION_T T WHERE T.MODULENAME = '" + Application.ProductName + "'   AND T.DISABLED = '1'  ORDER BY T.MENU_J, T.MENU_I ";
            DataTable dt = db.GetTableInfoBySQL(sql, db.sqlDB);
            CreateMainMenu(MainMenuStrip, dt);
        }

        void CreateMainMenu(MenuStrip menuStrip, DataTable dt)
        {
            try
            {
                DataRow[] drs = dt.Select("MENU_J = '0'", "MENU_J");
                if (drs.Length > 0)
                {
                    foreach (DataRow item in drs)
                    {
                        ToolStripMenuItem mi = new ToolStripMenuItem();
                        mi.Text = item["CN_MENUNAME"].ToString();
                        CreateMenuItem(mi, item["MENU_I"].ToString(), dt);
                        menuStrip.Items.Add((ToolStripItem)mi);
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Assert(false, ex.Message);
            }
        }

        void CreateMenuItem(ToolStripMenuItem mi, string fatherid, DataTable dt)
        {
            DataRow[] drs = dt.Select("MENU_J='" + fatherid + "'", "MENU_J");
            if (drs.Length > 0)
            {
                foreach (DataRow item in drs)
                {
                    ToolStripMenuItem mitem = new ToolStripMenuItem();
                    mitem.Text = item["CN_MENUNAME"].ToString();
                    mitem.Tag = item;
                    CreateMenuItem(mitem, item["MENU_I"].ToString(), dt);
                    mi.DropDownItems.Add(mitem);
                    mitem.Click += new EventHandler(BindClickToInstinse);
                }
            }
        }

        void BindClickToInstinse(object sender, EventArgs e)
        {
            ToolStripMenuItem mi = sender as ToolStripMenuItem;
            if (mi.HasDropDownItems)//如果有下一級目錄就不實例化
            {
                return;
            }           
           

            DataRow dr = mi.Tag as DataRow;

            //切換帳號
            if (dr["CN_MENUNAME"].ToString() == "切換帳號")
            {
                Application.Restart();
            }
            //分隔線 不用管
            if (dr["CN_MENUNAME"].ToString() == "-")
            {
                return;
            }
            //退出系統(tǒng)
            if (dr["CN_MENUNAME"].ToString() == "退出系統(tǒng)")
            {
                DialogResult drt = new DialogResult();
                drt = MessageBox.Show(this, "你確定要退出系統(tǒng)嗎", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (drt == DialogResult.Yes)
                {
                    Application.Exit();
                }
                else
                {
                    return;
                }
            }            
            //啟動記事本
            if (dr["CN_MENUNAME"].ToString() == "記事本")
            {
                System.Diagnostics.Process.Start("notepad.exe");
                return;
            }
            //啟動計算器
            if (dr["CN_MENUNAME"].ToString() == "計算器")
            {
                System.Diagnostics.Process.Start("calc.exe");
                return;
            }
            try
            {             
                ObjectHandle t = Activator.CreateInstance(Application.ProductName, Application.ProductName + "." + dr["webpage"].ToString());
                Form frm = (Form)t.Unwrap();
                Form[] mdiChilds = this.MdiChildren;
                if (mdiChilds.Length == 1)
                {
                    mdiChilds[0].Close();
                    mdiChilds[0].Dispose();
                }
                frm.MdiParent = this;
                frm.WindowState = FormWindowState.Maximized;
                frm.Top = 0;
                frm.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }



圖一:設計頁面

圖二:效果圖:

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

目前主流的面向對象的編程語言C#、C++、Java; 一、C#的特點: C#在帶來對應用程序的快速開發(fā)能力的同時,并沒有犧牲C與C++程序員所關心的各種特性。它忠實地繼承了C和C++的優(yōu)點。如果你對C

關鍵字: c# 面向對象編程

作者:朱金燦來源:http://blog.csdn.net/clever101???????? 什么是好的開發(fā)語言和好的開發(fā)框架?這個問題可能一千個人有一千種答案,我的答案是在滿足用戶效率需要的前提下

關鍵字: c# QT

關于邊緣改進全局閾值處理基本實現(xiàn)是:?1.先計算其邊界,利用拉普拉斯或者梯度變換都以。?2.計算變化后邊界圖像的絕對值3.指定一個閾值(一般以百分比的形式指定,比如我指定90%,如果存在有灰度k,灰度

關鍵字: c# 函數(shù)

DES加密應該是最基礎的加密算法。DES一共就有4個參數(shù)參與運作:明文、密文、密鑰、向量。為了初學者容易理解,可以把4個參數(shù)的關系寫成:密文=明文+密鑰+向量;明文=密文-密鑰-向量。為什么要向量這個

關鍵字: c# des算法

用過C#的人,一般都知道委托和事件。如果沒有用過C#,我在這里簡單解釋一下委托,如果用過了,下面可以skip。委托是一個方法聲明,我們知道,在C語言中,可以通過函數(shù)指針表示一個地址的CALL方法,委托

關鍵字: c# c++

我剛用C#一個來月,可能理解得不對,還請大家指教。讀懂文章你需要對C語言的指針有所理解。需要注意區(qū)別:對C\C++來說,任何類型都可以當成C#的“引用類型”,因為有指針?!驹趦却嫔稀縱oid?foo(

關鍵字: c#

最近有段時間因為有個項目一直需要Socket數(shù)據(jù)傳輸。所以呢沒辦法就整了一套Socket最簡單的版本出來。以便自己日后方便使用。我遇到的程序Socket是通過Tcp Ip的方式進行數(shù)據(jù)傳輸?shù)?不多說先

關鍵字: c# socket

C#中的Invoke ?轉載▼在用.NET Framework框架的WinForm構建GUI程序界面時,如果要在控件的事件響應函數(shù)中改變控件的狀態(tài),例如:某個按鈕上的文本原先叫“打開”,單擊之后按鈕上

關鍵字: .net c#

引言HTTP協(xié)議我想任何IT人士都耳熟能詳了,大家都能說出個所以然來。但是如果我問你HTTP協(xié)議的請求方法有哪些?POST與GET的差 異?GET或POST傳送數(shù)據(jù)量的大小有限制嗎?HTTP響應的狀態(tài)

關鍵字: c# http服務器

今天有個朋友遇見了一個問題,在使用qml中Menu控件時不知道如何設置字體顏色或其他樣式,于是我看了下官方文檔,當前版本為Qt 5.9系列,看了文檔之后,發(fā)現(xiàn)只有使用import QtQuick.Co

關鍵字: menu qml menu自定義實現(xiàn)
關閉