双搜浏览器(自制) C#版
示例完成 百度和bing同时搜索,要增加其他搜索方式,增加配置即可。
1、引入cef
CefSharp.WinForms
2、绘制界面布局
使用splitContainer完成上下,下(左右)浏览器布局
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;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现