双搜浏览器(自制) C#版

示例完成 百度和bing同时搜索,要增加其他搜索方式,增加配置即可。

1、引入cef

CefSharp.WinForms

2、绘制界面布局

使用splitContainer完成上下,下(左右)浏览器布局
image

3、设置双搜参数

配置设定


Dictionary<string, List<string>> urldic = new Dictionary<string, List<string>>() {
            {"百度,bing",new List<string>(){ "https://www.baidu.com/s?wd={0}", "https://cn.bing.com/search?q={0}" } }
        };

读取配置并搜索

        private void button1_Click(object sender, EventArgs e)
        {
            List<string> ulst = urldic[comboBox1.Text];
            chromiumWebBrowser1.Load(string.Format(ulst[0], textBox1.Text));
            chromiumWebBrowser2.Load(string.Format(ulst[1], textBox1.Text));
        }

下拉框选项绑定

this.comboBox1.Items.AddRange(new object[] {"百度,bing"});

4、搜索结果点击时,使用默认浏览器打开

绑定LifeSpanHandler

chromiumWebBrowser1.LifeSpanHandler = new LifeSpanHandler();
chromiumWebBrowser2.LifeSpanHandler = new LifeSpanHandler();

LifeSpanHandler 实现

    internal class LifeSpanHandler : ILifeSpanHandler
    {
        public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
        {
            return true;
        }

        public void OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
        {
        }

        public void OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
        {
        }

        public bool OnBeforePopup(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
        {
            Process.Start(targetUrl);
            newBrowser = null;
            return true;
        }
    }
posted @   姜小牙  阅读(78)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示