WinFrom嵌入谷歌内核ChromiumWebBrowser

这篇博客介绍了如何在WinForm应用程序中集成ChromiumWebBrowser,通过CefSharp库实现一个自定义的WebView控件。控件支持加载网页、禁用/启用右键菜单、下载文件、与JavaScript交互等功能。还提供了处理下载事件和页面右键菜单的方法,以及在窗体关闭时清理资源的示例。
摘要由CSDN通过智能技术生成

新建WinFrom项目

 新建用户控件:WebView.cs

 引用相关dll

 编写代码如下:

namespace ChromiumWebBrowser
{
    public partial class WebView : UserControl
    {
        #region 初始化浏览器控件
        public CefSharp.WinForms.ChromiumWebBrowser webBrower;
        private bool _EnableRightMenu = false;
        /// <summary>
        /// 是否启用右键菜单
        /// </summary>
        public bool EnableRightMenu
        {
            get { return _EnableRightMenu; }
            set { _EnableRightMenu = value; }
        }

        public List<Cookie> cookieList = null;

        public bool isEnabledJWT = false;

        public string path;

        /// <summary>
        /// 初始函数
        /// </summary>
        public WebView()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 页面加载
        /// </summary>
        /// <param name="e"></param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
        }

        #endregion

        #region 加载调用

        /// <summary>
        /// 根据路径获取页面控件_不带JS交互→(下载)
        /// </summary>
        /// <param name="strPath"></param>
        public void getWebBrowserByPath(string strPath)
        {
            webBrower = new CefSharp.WinForms.ChromiumWebBrowser(strPath);
            webBrower.Dock = DockStyle.Fill;//填充方式            
            this.Controls.Add(webBrower);
            webBrower.DownloadHandler = new DownloadHandler();//下载文件
            webBrower.MenuHandler = new MenuHandler();//右键菜单
        }

        /// <summary>
        /// 根据路径获取页面控件_不带JS交互→(下载)
        /// </summary>
        /// <param name="strPath"></param>
        public virtual void SetUrl(string strPath)
        {
            webBrower = new CefSharp.WinForms.ChromiumWebBrowser(strPath);
            webBrower.Dock = DockStyle.Fill;//填充方式     
            if (!this.EnableRightMenu)
                webBrower.MenuHandler = new StopMenuHandler();
            this.Controls.Add(webBrower);
        }

        /// <summary>
        /// 根据路径获取页面控件_带JS交互→(下载)
        /// </summary>
        /// <param name="strPath"></param>
        public void getWebBrowserByPathAndParam(string strPath, object obj)
        {
            this.Controls.Clear();
            path = strPath;
            //添加安全证书验证的过滤
            if (!CefSharp.Cef.IsInitialized)
            {
                var settings = new CefSettings();
                //安全证书
                settings.CefCommandLineArgs.Add("--ignore-urlfetcher-cert-requ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在WinForm中嵌入VLC播放器可以通过以下步骤实现: 首先,你需要下载并安装VLC播放器到你的计算机上。确保安装的版本与你的WinForm项目兼容。 接下来,创建一个新的WinForm应用程序。打开Visual Studio并选择创建一个新的WinForm项目。 在你的WinForm设计窗口中,确保工具箱窗格是可见的。如果不可见,可以在视图菜单中选择工具箱。 在工具箱中找到“Elements”选项,并将其拖动到你的WinForm窗口上。这是嵌入VLC播放器所需要的控件。 在代码视图中,找到你的Form的构造函数,并在其中添加代码,将VLC控件添加到你的WinForm窗口上。 使用以下代码: ``` VlcControl vlcControl = new VlcControl(); this.Controls.Add(vlcControl); vlcControl.Dock = DockStyle.Fill; ``` 然后,你需要设置VLC播放器的路径。使用以下代码,将VLC播放器库的路径设置为你所安装的位置: ``` vlcControl.VlcLibDirectoryNeeded += (sender, args) => { vlcControl.VlcLibDirectory = new DirectoryInfo(@"VLC安装路径"); }; ``` 在以上代码中,将“VLC安装路径”替换为您所安装的VLC播放器的实际路径。 现在,你可以通过设置`vlcControl.Source`属性来加载媒体文件到VLC播放器中。例如: ``` vlcControl.Source = new Uri("媒体文件路径"); ``` 将“媒体文件路径”替换为你要加载的媒体文件的实际路径。 最后,编译并运行你的WinForm应用程序。现在,你的VLC播放器已成功嵌入到WinForm窗口中。 请注意,为了正确运行VLC播放器,你的计算机上必须安装有VLC播放器。如果其他用户在没有安装VLC的计算机上运行你的应用程序,他们需要自行安装VLC播放器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值