3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
C# CMS 基本框架 [CS_CMS_Mini] GITHUB:https://github.com/jash-git/CS_CMS_Mini 說明:     01.使用SplitContainer分割畫面     02.使用TreeView建立Menu選單     03.之後只要用TabControl建立各頁面功能即可 程式碼: Form_UI_Code/Menu.cs  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Lib; namespace SYRIS_Mini { public partial class MainFrm : Form { void CreateMenu() { minitrv0001.Nodes.Clear();//清除所有節點 //--- //建立選單變數 TreeNode trnMainMenu01 = new TreeNode(Language.m_StrMainMenu01, 0, 0); trnMainMenu01.Nodes.Add("", Language.m_StrSubMenu01_01, 1, 1); trnMainMenu01.Nodes.Add("", Language.m_StrSubMenu01_02, 1, 1); TreeNode trnMainMenu02 = new TreeNode(Language.m_StrMainMenu02, 0, 0); trnMainMenu02.Nodes.Add("", Language.m_StrSubMenu02_01, 1, 1); trnMainMenu02.Nodes.Add("", Language.m_StrSubMenu02_02, 1, 1); trnMainMenu02.Nodes.Add("", Language.m_StrSubMenu02_03, 1, 1); TreeNode trnMainMenu03 = new TreeNode(Language.m_StrMainMenu03, 0, 0); trnMainMenu03.Nodes.Add("", Language.m_StrSubMenu03_01, 1, 1); trnMainMenu03.Nodes.Add("", Language.m_StrSubMenu03_02, 1, 1); trnMainMenu03.Nodes.Add("", Language.m_StrSubMenu03_03, 1, 1); trnMainMenu03.Nodes.Add("", Language.m_StrSubMenu03_04, 1, 1); TreeNode trnMainMenu04 = new TreeNode(Language.m_StrMainMenu04, 0, 0); trnMainMenu04.Nodes.Add("", Language.m_StrSubMenu04_01, 1, 1); //---建立選單變數 //--- //新增選單 minitrv0001.Nodes.Add(trnMainMenu01); minitrv0001.Nodes.Add(trnMainMenu02); minitrv0001.Nodes.Add(trnMainMenu03); minitrv0001.Nodes.Add(trnMainMenu04); //---新增選單 minitrv0001.CollapseAll();//關閉所有節點 //minitrv0001.ExpandAll();//打開所有節點 minitrv0001.SelectedNode = minitrv0001.Nodes[3];//展開特定節點 minitrv0001.SelectedNode.Expand(); } } } Lib/Language.cs  using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.IO; namespace Lib { public class Language { static public ArrayList ALStrName = new ArrayList(); static public ArrayList ALStrValue = new ArrayList(); static public String m_StrMainMenu01; static public String m_StrMainMenu02; static public String m_StrMainMenu03; static public String m_StrMainMenu04; static public String m_StrSubMenu01_01; static public String m_StrSubMenu01_02; static public String m_StrSubMenu02_01; static public String m_StrSubMenu02_02; static public String m_StrSubMenu02_03; static public String m_StrSubMenu03_01; static public String m_StrSubMenu03_02; static public String m_StrSubMenu03_03; static public String m_StrSubMenu03_04; static public String m_StrSubMenu04_01; static public void initVar(int intswitch=0) { //ReadLangSet(Int32.Parse(CpuReaderTest.QRCode.m_Settings.m_StrLanguage)); ReadLangSet(intswitch); ALStr2Var(); } static public void ReadLangSet(int index) { //ALStr.Clear(); //int i = 0; ALStrName.Clear(); ALStrValue.Clear(); StreamReader sr = null; switch (index) { case 0: sr = new StreamReader("language\\tw.sycsv");//csv->sycsv//修改語系檔放在執行檔目錄下的language資料夾中 at 2017/04/06 break; case 1: sr = new StreamReader("language\\cn.sycsv");//csv->sycsv//修改語系檔放在執行檔目錄下的language資料夾中 at 2017/04/06 break; case 2: sr = new StreamReader("language\\en.sycsv");//csv->sycsv//修改語系檔放在執行檔目錄下的language資料夾中 at 2017/04/06 break; case 3: sr = new StreamReader("language\\other.sycsv");//csv->sycsv//修改語系檔放在執行檔目錄下的language資料夾中 at 2017/04/06 break; } while (!sr.EndOfStream)// 每次讀取一行,直到檔尾 { string line = sr.ReadLine();// 讀取文字到 line 變數 if (line.Length > 0 && line.IndexOf(',') > 0) { //String StrBuf = line.Substring(line.IndexOf(',') + 1); string[] strs = line.Split(','); ALStrName.Add(strs[0]); ALStrValue.Add(strs[1]); //ALStr.Add(StrBuf); //i++; } } sr.Close();// 關閉串流 } static public void ALStr2Var() { m_StrMainMenu01 = (String)ALStrValue[ALStrName.IndexOf("m_StrMainMenu01")]; m_StrMainMenu02 = (String)ALStrValue[ALStrName.IndexOf("m_StrMainMenu02")]; m_StrMainMenu03 = (String)ALStrValue[ALStrName.IndexOf("m_StrMainMenu03")]; m_StrMainMenu04 = (String)ALStrValue[ALStrName.IndexOf("m_StrMainMenu04")]; m_StrSubMenu01_01 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu01_01")]; m_StrSubMenu01_02 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu01_02")]; m_StrSubMenu02_01 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu02_01")]; m_StrSubMenu02_02 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu02_02")]; m_StrSubMenu02_03 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu02_03")]; m_StrSubMenu03_01 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu03_01")]; m_StrSubMenu03_02 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu03_02")]; m_StrSubMenu03_03 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu03_03")]; m_StrSubMenu03_04 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu03_04")]; m_StrSubMenu04_01 = (String)ALStrValue[ALStrName.IndexOf("m_StrSubMenu04_01")]; } }//Language } Lib/Settings.cs  using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace Lib { public class Settings { public String m_StrLanguage; public String m_StrRandomStart; public Settings() { Random R = new Random(); m_StrLanguage = "1"; m_StrRandomStart = ""+ R.Next(0, 65535); if (System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\SYRIS-RD300-C1.xml")) { readSettingXML(); } else { saveSettingXML(); } } public void saveSettingXML() { XmlTextWriter XTW = new XmlTextWriter(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\SYRISMini.xml", Encoding.UTF8); XTW.WriteStartDocument(); XTW.WriteStartElement("Setting"); XTW.WriteElementString("Language", m_StrLanguage); XTW.WriteElementString("RandomStart", m_StrRandomStart); XTW.Flush(); XTW.Close(); } public void readSettingXML() { try { XmlDocument xd = new XmlDocument(); xd.Load(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\SYRISMini.xml"); XmlNode root = xd.SelectSingleNode("//Setting"); int i = 0; foreach (XmlElement elm in root.ChildNodes) { switch (i) { case 0://Language m_StrLanguage = elm.InnerText.Trim(); break; case 1://RandomStart m_StrRandomStart = elm.InnerText.Trim(); break; } i++; } } catch { Random R = new Random(); m_StrLanguage = "1"; m_StrRandomStart = "" + R.Next(0,65535); } } } } MainFrm.Designer.cs  namespace SYRIS_Mini { partial class MainFrm { /// /// 設計工具所需的變數。 /// private System.ComponentModel.IContainer components = null; /// /// 清除任何使用中的資源。 /// /// 如果應該處置 Managed 資源則為 true,否則為 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form 設計工具產生的程式碼 /// /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改 /// 這個方法的內容。 /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.minitrv0001 = new System.Windows.Forms.TreeView(); this.miniiml0001 = new System.Windows.Forms.ImageList(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.SuspendLayout(); this.SuspendLayout(); // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.Location = new System.Drawing.Point(0, 0); this.splitContainer1.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 // this.splitContainer1.Panel1.AutoScroll = true; this.splitContainer1.Panel1.Controls.Add(this.minitrv0001); // // splitContainer1.Panel2 // this.splitContainer1.Panel2.AutoScroll = true; this.splitContainer1.Size = new System.Drawing.Size(1904, 1012); this.splitContainer1.SplitterDistance = 250; this.splitContainer1.SplitterWidth = 7; this.splitContainer1.TabIndex = 0; // // minitrv0001 // this.minitrv0001.Dock = System.Windows.Forms.DockStyle.Fill; this.minitrv0001.ImageIndex = 0; this.minitrv0001.ImageList = this.miniiml0001; this.minitrv0001.Location = new System.Drawing.Point(0, 0); this.minitrv0001.Name = "minitrv0001"; this.minitrv0001.SelectedImageIndex = 0; this.minitrv0001.Size = new System.Drawing.Size(250, 1012); this.minitrv0001.TabIndex = 0; this.minitrv0001.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.minitrv0001_NodeMouseClick); // // miniiml0001 // this.miniiml0001.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("miniiml0001.ImageStream"))); this.miniiml0001.TransparentColor = System.Drawing.Color.Transparent; this.miniiml0001.Images.SetKeyName(0, "folder.png"); this.miniiml0001.Images.SetKeyName(1, "list.png"); this.miniiml0001.Images.SetKeyName(2, "objects.png"); // // MainFrm // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1904, 1012); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微軟正黑體", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(136))); this.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5); this.Name = "MainFrm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Form1"; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.Load += new System.EventHandler(this.MainFrm_Load); this.splitContainer1.Panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.ResumeLayout(false); } #endregion private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.TreeView minitrv0001; private System.Windows.Forms.ImageList miniiml0001; } } MainFrm.cs  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Lib; namespace SYRIS_Mini { public partial class MainFrm : Form { public MainFrm() { InitializeComponent(); } private void MainFrm_Load(object sender, EventArgs e) { Language.initVar(); CreateMenu(); } private void minitrv0001_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)//工作選單事件 { if (e.Button == System.Windows.Forms.MouseButtons.Left) { minitrv0001.SelectedNode = e.Node; //判斷點選在第幾層 //第二層 if (e.Node.Level == 1) { MessageBox.Show(minitrv0001.SelectedNode.Text + "->(" + e.Node.Parent.Index + "," + e.Node.Index + ")"); } } } } } Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespace SYRIS_Mini { static class Program { /// /// 應用程式的主要進入點。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainFrm()); } } } MainFrm.resx text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACe CQAAAk1TRnQBSQFMAgEBAwEAAQgBAAEIAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xIAAf8BeguaAf8BAAEP AeoeAAH/DhsB9AEAAf8BegrzAZoB/wEAAQ4B+AHzDQ4QABB6AQAB/wF6A7wH8wGaAf8BAAEOAfgB8gFu CxYBRRAAEHoBAAH/AXoBBwHyAe4B8wbyAZoB/wEAAQ4B+AHyAW4LFgFFEAAQegEAAf8BegHyAbwB8Qfz AZoB/wEAAQ4B+AHyAW4LFgFFEAAQegEAAf8BegrzAZoB/wEAAQ4B+AHyAW4LFgFFEAAQegEAAf8BegK8 Ae4H8wGaAf8BAAEOAfgB8gFFC28BRBAAEHoBAAH/AXoBBwHuAQcH8gGaAf8BAAEOAfgB/wX3AvMB8AT3 Ae8QABB6AQAB/wF6AfIB8QHyB/MBmgH/AQABDgH4AfQB+AfsAfgB8RMAEHoBAAH/AXoK8wGaAf8BAAEO AfgB8gFzB3oBdAEHEwAQegEAAf8BegEHAbwBBwfzAZoB/wEAAQ4B+AHyAXMHegF0AQcTAAF6AZoIGgZ6 AQAB/wF6AQcC7wfyAZoB/wEAAQ4B+AHyAXMHegF0AQcTAAKaBBoE8wEbBXoBAAH/AXoC8wbyAvMBmgH/ AQABDgH4AfIBcwd6AXQBBxMAARsEegGaBQABGwOaARoBAAH/AXoCGgHsBeoBmQEaAZoB/wEAAQ4B+AHy AXMHegF0AQcUAAH1A/QB/wwAAfQC8wHwAfcB7AH4Ae0BBwPzAgABDgH4Af8JBwHzKgABvAHtAf8GAAEP ARUeAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAC/wGAAQEBPwH/BAABgAEB BgABgAEBBgABgAEBBgABgAEBBgABgAEBBgABgAEBBgABgAEBBgABgAEBAQABBwQAAYABAQEAAQcEAAGA AQEBAAEHBAABgAEBAQABBwQAAYABAQEAAQcCAAEDAeABgAEBAQABBwIAAYMB/wHAAQMBAAEHAgAC/wH+ Aj8B/wIACw== 實際執行圖:

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦