C#窗体内嵌Chromium内核浏览器实战 (2)

简介: 本文目录1. 确认CefSharp版本2. 新建winform工程3. 修改生成配置4. 编写窗体代码5. 启动测试6. 部署至xp7. 测试Vue是否可用

上一篇文章中已经把所有准备工作做完了,包括:


xp系统,安装了.net framework4.0 和VC++2013运行库,用于测试运行效果

VS3013,安装了NuGet ,用于开发程序

万事可以说基本具备,现在上东风


1. 确认CefSharp版本

首先确认CefSharp的版本,在GitHub上有说明,CefSharp的GitHub。

image.png

因为XP上安装了. net version为4.0,对应的CefSharp最高版本为49。


所以我们在NuGet查看49对应的内容即可,NuGet上CefSharp地址:CefSharp的NuGet。


点击49版本后,可以看到PM指令为:


Install-Package CefSharp.WinForms -Version 49.0.1

image.png

2. 新建winform工程

使用VS2013新建一个winform工程:

image.png

然后点击工具-NuGet包管理器-程序包管理控制台,输入指令Install-Package CefSharp.WinForms -Version 49.0.1后回车。


该指令负责将CefSharp49.0.1添加到我们的项目中,待提示已成功添加信息后,可进行下一步操作。


3. 修改生成配置

点击生成-配置管理器,因为咱们的目标XP系统为32位x86平台,所以讲目标平台调整为x86:

image.png

4. 编写窗体代码

将自动生成的Form1类代码修改如下,实际上就是建立一个chrome浏览器控件后添加到当前窗体。

using CefSharp.WinForms;
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;
namespace CefSharpDemo
{
    public partial class Form1 : Form
    {
        public ChromiumWebBrowser browser;
        public Form1()
        {
            InitializeComponent();
            InitBrowser();
        }
        public void InitBrowser()
        {
            browser = new ChromiumWebBrowser("http://www.baidu.com");
            this.Controls.Add(browser);
            browser.Dock = DockStyle.Fill;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            WindowState = FormWindowState.Maximized;
        }
    }
}

5. 启动测试

启动后,外层窗体内部包含网页,没问题:

image.png

6. 部署至xp

将项目生成的x86目录下的debug目录拷贝到xp系统运行,依然正常:(看看XP系统那骚气的蓝色任务栏)

image.png

7. 测试Vue是否可用

既然CefSharp是Chromium内核,那支持Vue自然不在话下。

简单的写一个Vue页面:

<html>
<head>
<title>hello vue</title>
</head>
<body>
<div id="app">
  {{str}}
</div>
<script src="vue.min.js"></script>
<script>
var app=new Vue({
  el:'#app',
  data:{
    str:'hello my vue for win form'
  }
});
</script>
</body>
</html>

将页面部署至tomcat服务器,地址如下,其中192.168.0.14是服务器局域网IP地址。


http://192.168.0.14:8080/EasyDemo/index.html

1

将.net程序指定地址代码修改为:


browser = new ChromiumWebBrowser("http://192.168.0.14:8080/EasyDemo/index.html");

1

重新编译后部署至XP系统,效果如下:

image.png

不得不说,Chromium内核确实牛X好用先进。

厉害了。

相关文章
|
3月前
|
数据采集 JavaScript C#
C#图像爬虫实战:从Walmart网站下载图片
C#图像爬虫实战:从Walmart网站下载图片
|
4月前
|
数据采集 存储 C#
C# 爬虫技术:京东视频内容抓取的实战案例分析
C# 爬虫技术:京东视频内容抓取的实战案例分析
|
21小时前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
43 17
|
2月前
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合
|
2月前
|
API C# Windows
【C#】在winform中如何实现嵌入第三方软件窗体
【C#】在winform中如何实现嵌入第三方软件窗体
142 0
|
3月前
|
设计模式 C# 开发者
C#设计模式入门实战教程
C#设计模式入门实战教程
|
5月前
|
算法 C#
C#实战 | 求解《九章算术》盈不足之共买物
【7月更文挑战第8天】中国古代数学成就显著,《九章算术》展示了先进的算法,如分数运算和方程解法,领先世界数百年。项目示例通过控制台应用,运用for循环和if条件语句,模拟解决书中盈不足问题,展示了解决数学问题的编程方法。
51 6
C#实战 | 求解《九章算术》盈不足之共买物
|
5月前
|
算法 C#
C#实战 | 求解《丘建算经》百鸡问题
【7月更文挑战第9天】《丘建算经》的百鸡问题是一个经典的不定方程问题,用C#解决时,通过三重嵌套循环穷举公鸡、母鸡和小鸡的组合。代码示例中,外层循环分别对应公鸡和母鸡,而小鸡数量由总钱数和已知鸡种计算得出,避免了额外的内层循环。使用`if`判断确保总数量正确。注意,除法运算可能导致整数截断错误,需使用3.0保证浮点数除法的准确性。这种方法虽然效率较低,但能确保找到所有可行解。
55 1
C#实战 | 求解《丘建算经》百鸡问题
|
4月前
|
数据安全/隐私保护 C# UED
利用 Xamarin 开展企业级移动应用开发:从用户登录到客户管理,全面演示C#与Xamarin.Forms构建跨平台CRM应用的实战技巧与代码示例
【8月更文挑战第31天】利用 Xamarin 进行企业级移动应用开发能显著提升效率并确保高质量和高性能。Xamarin 的跨平台特性使得开发者可以通过单一的 C# 代码库构建 iOS、Android 和 Windows 应用,帮助企业快速推出产品并保持一致的用户体验。本文通过一个简单的 CRM 示例应用演示 Xamarin 的使用方法,并提供了具体的代码示例。该应用包括用户登录、客户列表显示和添加新客户等功能。此外,还介绍了如何增强应用的安全性、数据持久化、性能优化及可扩展性,从而构建出功能全面且体验良好的移动应用。
60 0
|
4月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
119 0