Winform程序中嵌入Echarts

本文介绍如何在Winform程序中嵌入Echarts生成图表,包括设置WebBrowser控件属性及利用JSON传递数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Echarts

Winform程序中嵌入Echarts

原文链接:https://jingyan.baidu.com/article/eb9f7b6d5a0395869364e829.html

公司项目需要用Winform程序来做一个店铺经营看板,因此希望能在winform程序内生成相应的图表。
于是找到了这篇文章,在这里备忘一下。

首先设置WebBrowser控件的几个属性:
chartBrowser.AllowWebBrowserDrop = false;//防止 WebBrowser 控件打开拖放到其上的文件。
chartBrowser.IsWebBrowserContextMenuEnabled = false;//防止 WebBrowser 控件在用户右击它时显示其快捷菜单.
chartBrowser.WebBrowserShortcutsEnabled = false;//以防止 WebBrowser 控件响应快捷键。
chartBrowser.ScriptErrorsSuppressed = true;//以防止 WebBrowser 控件显示脚本代码问题的错误信息。
chartBrowser.ObjectForScripting = this; (这个属性比较重要,可以通过这个属性,把WINFROM中的变量,传递到JS中,供内嵌的网页使用;但设置到的类型必须是COM可见的,所以要设置 [System.Runtime.InteropServices.ComVisibleAttribute(true)],因为我的值设置为this,所以这个特性要加载窗体类上)

string webPageURL = AppDomain.CurrentDomain.BaseDirectory + @“Html\Chart.html”;
chartBrowser.Navigate(webPageURL);
this.ChartPatams = Newtonsoft.Json.JsonConvert.SerializeObject(chartValues);
//此处的chartValues可以是任意的对象,我只是把它序列话成一个JSON字符串,并保存在窗体的自定义属性里。
这些属性的设定可以写在任何事件里,方便测试的话直接写到窗体构造函数里。
到此WINFROM程序的设置完成。
接下来编辑嵌入的HTML页面。
我们只为了生成图表,所以要引入ECharts.js(记的发布的时候要把HTML文件和JS文件同时发布)

图表

var myChart = echarts.init(document.getElementById(‘main’));
var data = eval(’(’ +window.external.ChartPatams+ ‘)’); //把WINFROM中保存的变量转换成JSON对象(此处我的对象就是一个数值的数组类似[1,2,3,4,5])
var xAxisData = new Array();
var yAxisData = new Array();
for (var i = 1; i <= data.length; i++) {
xAxisData[i - 1] = i;
yAxisData[i - 1] = data[i - 1];
}
// 指定图表的配置项和数据
var option = {
title: {
text: ‘趋势图’
},
xAxis: {
data: xAxisData
},
tooltip: {},
yAxis: {},
series: [{
type: ‘line’,
data: yAxisData
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
}

到此结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值