using System.Drawing.Printing;
在窗体Load事件中            ContextMenuStrip cms = new ContextMenuStrip();
            cms.Name = "cms";
            cms.ImageList = this.toolIcon;
            ToolStripMenuItem mt1 = new ToolStripMenuItem("打印图纸");
            ToolStripMenuItem mt2 = new ToolStripMenuItem("另存图纸");
            ToolStripMenuItem mt3 = new ToolStripMenuItem("查看原始路径文件");
            ToolStripMenuItem mt4 = new ToolStripMenuItem("查看保存后的文件");
            mt1.ImageKey = "Print";
            mt2.ImageKey = "SaveAs";
            mt3.ImageKey = "CFile";
            mt4.ImageKey = "SFile";
            mt2.Click += new EventHandler(mt2_Click);
            mt3.Click += new EventHandler(mt3_Click);
            mt4.Click += new EventHandler(mt4_Click);
            if (Program.Usergroup == "工程部")
            {
                cms.Items.Add(mt1);
                cms.Items.Add(mt2);
                cms.Items.Add("-");
                cms.Items.Add(mt3);
                cms.Items.Add(mt4);
            }
            else
            {
                cms.Items.Add(mt1);
            }
            foreach (string Printer in PrinterSettings.InstalledPrinters)
            {
                //if (Printer != "Adobe PDF")
                {
                    ToolStripMenuItem printer = new ToolStripMenuItem(Printer, null, new EventHandler(mt1_Click));
                    mt1.DropDownItems.Add(Printer);
                }
            }
            this.ContextMenuStrip = cms;
            cms.Opening += new CancelEventHandler(cms_Opening);我想在选择的时候可以以这个打印机打印,目前没有反应,其他按钮还是有反应的#region 列表菜单
        private void mt1_Click(object sender, EventArgs e)
        {
            string printer = sender + e.ToString();
        }        private void mt2_Click(object sender, EventArgs e)
        {
            this.folderBrowserDialog.Description = "请选择图纸保存路径:";
            if (this.folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string viewPath = this.listView.FocusedItem.SubItems[3].ToString();
                string data = viewPath.Substring(0, viewPath.IndexOf("\\"));
            }
        }        private void mt3_Click(object sender, EventArgs e)
        {        }        private void mt4_Click(object sender, EventArgs e)
        {        }
        #endregionToolStripMenuItemDropDownItems

解决方案 »

  1.   

    楼主的眼神是怎么了,缺少一句啊:
    mt1.Click += new EventHandler(mt1_Click);
      

  2.   

    mt1_Click不是mt1的点击事件,我希望是mt1的子菜单的事件,现在就是它的子菜单事件不起做用,不知道为什么
      

  3.   


    ToolStripMenuItem printer = new ToolStripMenuItem(Printer, null, new EventHandler(mt1_Click));
                        mt1.DropDownItems.Add(Printer);你这里有问题吧?是不是mt1.DropDownItems.Add(printer);是不是大小写搞混了
      

  4.   

    哦那不用了,mt1_Click 里面什么事也没干,自然看不出来了!