要在C#中使用SVG结合JavaScript,可以使用WebBrowser控件来加载包含SVG和JavaScript的网页。以下是一个简单的示例代码:
using System;
using System.Windows.Forms;
namespace SvgJavaScriptExample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string svgHtml = "<html><head><script>function changeColor() { document.getElementById('rect').setAttribute('fill', 'blue'); }</script></head><body><svg width='100' height='100'><rect id='rect' x='10' y='10' width='80' height='80' fill='red' onclick='changeColor()'/></svg></body></html>";
webBrowser1.DocumentText = svgHtml;
}
}
}
在上面的示例代码中,我们在Form1中添加了一个WebBrowser控件,并在Form1_Load事件中加载包含SVG和JavaScript代码的网页。当点击矩形时,JavaScript函数changeColor会被调用,将矩形的颜色改变为蓝色。
请注意,WebBrowser控件可能会受到浏览器版本和系统设置的影响,因此可能不支持所有的SVG和JavaScript特性。如果需要更复杂的交互操作,建议考虑使用其他更先进的浏览器控件或框架。