当前位置:编程学习 > C#/ASP.NET >>

C#小程序—带历史的菜单

 前几天写了个带历史菜单功能的程序,写的不是很好,太过于复杂。昨天我发现一种新方法,于是从写一遍。动态添加菜单的代码如下:
[csharp] 
//Menu.ini 是配置文件,来存储历史。 
if (File.Exists("Menu.ini")) 

    StreamReader sr = new StreamReader("Menu.ini"); 
    int i = this.文件ToolStripMenuItem.DropDownItems.Count - 2; 
    while (sr.Peek() > 0) 
    { 
        ToolStripMenuItem tlomenu = new ToolStripMenuItem(sr.ReadLine()); 
        this.文件ToolStripMenuItem.DropDownItems.Insert(i, tlomenu); 
        i++; 
    } 
    sr.Close(); 

              我还把程序的流程用Visio简单的画了一下。

        
         下面是帮助窗口的代码:
        
[csharp] 
/调用API函数 
        [DllImport("user32")] 
        private static extern long FlashWindow(IntPtr handle, bool bInvert); 
 
        private void btnClose_Click(object sender, EventArgs e) 
        { 
            this.Close(); 
        } 
 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            FlashWindow(this.Handle, true); 
        } 
        
          选择字体窗口代码:
   
[csharp]
public FrmFont(Frm frm) 
        { 
            InitializeComponent(); 
            mianFrm = frm; 
        } 
 
        Frm mianFrm = new Frm(); 
        //定义中间变量. 
        public Font newFont; 
        public bool getBlod; 
        public bool getItalic; 
 
         
        //向程序中添加字体和大小. 
        private void FrmFont_Load(object sender, EventArgs e) 
        { 
            InstalledFontCollection iof = new InstalledFontCollection(); 
            foreach (FontFamily font in iof.Families) 
            { 
                cboFont.Items.Add(font.Name); 
            } 
            for (int i = 1; i < 100; i++) 
                cboSize.Items.Add(i); 
        } 
 
        public void UpdateFrmMain() 
        { 
            if (cboFont.SelectedIndex > 0) 
            { 
                try 
                { 
                    newFont = new Font(cboFont.SelectedItem.ToString(), newFont.Size); 
                } 
                catch 
                { } 
            } 
            if (cboSize.SelectedIndex > 0) 
            { 
                newFont = new Font(newFont.FontFamily, float.Parse(cboSize.SelectedItem.ToString())); 
            } 
            mianFrm.rtbNotePad.Font = newFont; 
        } 
        //字体选择变化 
        private void cboFont_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            UpdateFrmMain(); 
        } 
        //字体大小下拉栏变化 
        private void cboSize_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            UpdateFrmMain(); 
        } 
 
           程序运行的图片如下:


         
  主窗体代码如下:
[csharp] 
//定义变量 
        StreamWriter str=null; 
        string strTemp; 
        string path = System.IO.Directory.GetCurrentDirectory(); 
 
        private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e) 
        { 
            //调用帮助窗体 
            FrmHelp help = new FrmHelp(); 
          &

补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,