zoukankan      html  css  js  c++  java
  • 替换Webbrowser默认的弹出菜单

    using System;
     using System.Collections.Generic;
     using System.ComponentModel;
     using System.Data;
     using System.Drawing;
     using System.Linq;
     using System.Text;
     using System.Windows.Forms;
     using System.Threading;
     using HtmlDom;
     namespace HTMLElementSelect
     {
         public partial class Form1 : Form
         {
             public Form1()
             {
                 InitializeComponent();
             }
             AboutForm afrm=new AboutForm();
             private void Form1_Load(object sender, EventArgs e)
             {
                 webBrowser1.Navigate("http://www.cnblogs.com/JiangHuakey/"); 
                webBrowser1.ContextMenuStrip = contextMenuStrip1;    //! 设置我们自己的弹出菜单
                 webBrowser1.IsWebBrowserContextMenuEnabled = false;  //! 禁用IE默认的弹出菜单
             }
     
            private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
             {
                 //! 屏幕坐标
                 Point ScreenCoord = new Point(MousePosition.X, MousePosition.Y);
                 //! 浏览器坐标
                 Point BrowserCoord = webBrowser1.PointToClient(ScreenCoord);
                 HtmlElement elem = webBrowser1.Document.GetElementFromPoint(BrowserCoord);
     
                //! 隐藏所有菜单项
                 for (int i = 0; i < contextMenuStrip1.Items.Count; i++)
                 {
                     contextMenuStrip1.Items[i].Visible = false;
                 }
     
                //! 显示对应的菜单
                 switch (elem.TagName)
                 {
                     case "A":
                         //! 如果是一个超链接,则显示相关超链接的菜单项
                         openToolStripMenuItem.Visible = true;
                         openInNewTabToolStripMenuItem.Visible = true;
                         openInNewWindowToolStripMenuItem.Visible = true;
                         break;
                     case "IMG":
                         //! 如果是图片,则显示相关图片的菜单项
                         saveImageToolStripMenuItem.Visible = true;
                         setAsDesktopWallpaperToolStripMenuItem.Visible = true;
                         break;
                     default:
                         //! 其它
                         refreshToolStripMenuItem.Visible = true;
                         viewSourceToolStripMenuItem.Visible = true;
                         break;
                 }
             }
             
            void SaveImageToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void SetAsDesktopWallpaperToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void OpenToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void OpenInNewTabToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void OpenInNewWindowToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void RefreshToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
             
            void ViewSourceToolStripMenuItemClick(object sender, EventArgs e)
             {
              afrm.Show();
             }
         }
     }
  • 相关阅读:
    thinkphp配置加载
    thinkphp数据输出
    thinkphp 命名规范
    array_fill — 用给定的值填充数组
    array_fill_keys — 使用指定的键和值填充数组
    array_change_key_case — 将数组中的所有键名修改为全大写或小写
    HTMLCSS样式表
    MySql查询语句中的变量使用
    使用java8的方法引用替换硬编码
    如何搭建一个自己的网站(绝对详细~)
  • 原文地址:https://www.cnblogs.com/lujin49/p/2312878.html
Copyright © 2011-2022 走看看