winform调用html,C#_C#通过html调用WinForm的方法,本文实例讲述了C#通过html调用W - phpStudy...
C#通过html调用WinForm的方法
本文实例讲述了C#通过html调用WinForm的方法。分享给大家供大家参考,具体如下:
完整测试代码:
Form1.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test
{
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
System.IO.FileInfo file = new System.IO.FileInfo(Application.StartupPath+@"\test1.htm");
webBrowser1.Url = new Uri(file.FullName);
webBrowser1.ObjectForScripting = this;
}
private void button1_Click(object sender, EventArgs e)
{
object[] objects = new object[1];
objects[0]="C#访问javascript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects);
}
public void MyMessageBox(string message)
{
MessageBox.Show(message);
}
}
}
类WinOper:
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class WinOperationClass
{
public void MyMessageBox1()
{
MessageBox.Show(message);
}
public void ShowForm()
{
Form2 f2 = new Form2();
f2.WindowState = FormWindowState.Normal;
f2.Show();
}
}
网页:
function messageBox(message)
{
alert(message);
}
javascript访问C#代码
javascript访问C#代码
javascript访问C#代码
补充:
webBrowser1.ObjectForScripting = this;
这句话的意思是webBrowser1的脚本执行的Com绑定的方法是 从Form1 来的,而MyMessageBox1和ShowForm却是在WinOperationClass类里面的,肯定是不行的。
第一个可以是因为form1里面有MyMessageBox这个方法,你吧MyMessageBox1和ShowForm移动到form1中或者把MyMessageBox移动到WinOperationClass里面,再把
webBrowser1.ObjectForScripting = this;
这句改成
WinOperationClass w=new WinOperationClass();
webBrowser1.ObjectForScripting = w;
就可以了
推荐第二种……把所有的 Com可见的方法放在一个类里面好维护
更多关于C#相关内容感兴趣的读者可查看本站专题:《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#常见控件用法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。相关阅读:
C#设置右键菜单的方法
Android中AlertDialog各种对话框的用法实例详解
IIS下PHP的三种配置方式对比
深入理解Javascript中的循环优化
PHP记录搜索引擎蜘蛛访问网站足迹的方法
jQuery实现点击该行即可删除HTML表格行
分享两个手机访问pc网站自动跳转手机端网站代码
CSS实现段落首行缩进两个字符不再使用空格
Win10 Build 10049或下周发放给Slow Ring慢速内测用户
win7系统纯净版怎么设置隐藏usb设备?
JQuery异步加载无限下拉框级联功能实现示例
基于.NET 4.5 压缩的使用
HTC 8X可从wp8.1升级到Win10 Mobile预览版10536.1004
零基础学习AJAX之AJAX的简介和基础
winform调用html,C#_C#通过html调用WinForm的方法,本文实例讲述了C#通过html调用W - phpStudy...相关推荐
- 寻找某个数c语言,C++_C语言实现两个递减数列中寻找某一个数,本文实例讲述了C语言实现两个 - phpStudy...
C语言实现两个递减数列中寻找某一个数 本文实例讲述了C语言实现两个递减数列中寻找某一个数的方法,分享给大家供大家参考之用.具体方法如下: 通常来说这道题算二分查找法中非常有难度的一题了. 题目如下: ...
- 骰子算法 php,C++_C++实现N个骰子的点数算法,本文实例讲述了C++实现N个骰子 - phpStudy...
C++实现N个骰子的点数算法 本文实例讲述了C++实现N个骰子的点数算法,分享给大家供大家参考之用.具体方法如下: 题目要求:把n个骰子仍在地上,所有点数 实现代码如下: #include using ...
- php datatable导出excel,C#_C#实现将DataTable内容输出到Excel表格的方法,本文实例讲述了C#实现将DataTabl - phpStudy...
C#实现将DataTable内容输出到Excel表格的方法 本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法.分享给大家供大家参考.具体如下: 1.关于本文 本文描述了一个函数 ...
- java sqlite 多线程并发_C#_C#解决SQlite并发异常问题的方法(使用读写锁),本文实例讲述了C#解决SQlite并 - phpStudy...
C#解决SQlite并发异常问题的方法(使用读写锁) 本文实例讲述了C#解决SQlite并发异常问题的方法.分享给大家供大家参考,具体如下: 使用C#访问sqlite时,常会遇到多线程并发导致SQLI ...
- shell脚本和python脚本和go脚本的区别_Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例-Go语言中文社区...
NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 1)标准输入.标准输出及标准错误输出的接口: child.stdin 获取标准输入 child.stdout 获取标准输出 chi ...
- php this指针的用法,C#_C#中this指针的用法示例,本文实例展示了C#中this指针的 - phpStudy...
C#中this指针的用法示例 本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下: 一.this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Cla ...
- asp.net 调用本地php,.NET_Asp.net获取服务器指定文件夹目录文件并提供下载的方法,本文实例讲述了Asp.net获取服务 - phpStudy...
string dirPath = HttpContext.Current.Server.MapPath("uploads/"); if (Directory.Exists(dirP ...
- php 绘制圆角矩形,C#_C#画圆角矩形的方法,本文实例讲述了C#画圆角矩形 - phpStudy...
C#画圆角矩形的方法 本文实例讲述了C#画圆角矩形的方法.分享给大家供大家参考.具体实现方法如下: protected void Page_Load(object sender, EventArgs ...
- itextsharp php,C#_C#使用iTextSharp设置PDF所有页面背景图功能实例,本文实例讲述了C#使用iTextSharp - phpStudy...
C#使用iTextSharp设置PDF所有页面背景图功能实例 本文实例讲述了C#使用iTextSharp设置PDF所有页面背景图功能的方法.分享给大家供大家参考.具体如下: 在生成PDF 的时候,虽然 ...
最新文章
- String与StringBuffer的区别
- python【蓝桥杯vip练习题库】ADV-309进制转换
- php怎么输出mysql一条数据,MySQL数据输出在一个可打印的PHP变量
- linux cdc设备驱动程序,Linux Kernel 'cdc-wdm' USB设备驱动程序堆缓冲区溢出漏洞
- tensorboard运行
- php5.5升级到php5.6,从php5.5.9升级到php5.6之后,相当于php5enmod?
- MIFARE系列6《射频卡与读写器的通讯》
- c语言程序设计电大作业,2018年最新电大C语言程序设计作业答案.doc
- WPF 资源路径设置
- 2叉树排序缺失元素查找
- Android漫游记(1)---内存映射镜像(memory maps)
- 服务器server怎么显示后缀名,window7系统怎么显示文件后缀名(图文)
- AI玩游戏系列,机器学习玩游戏(1) 一维游戏
- Shiro基本入门教程—叩丁狼Java培训
- struts2 国际化 中文乱码英文不乱码问题
- O2O商城网站建设方案
- 16、Kanzi插件——通过Kanzi Engine插件创建自定义动作+代码解析
- 如何应对数千微服务组件带来的挑战?
- linux中使用crontab出现crontab: installing new crontab
- 厉害了,我的中国造@主动发力还是借力打力?——思华科技18年自主创新经验谈(上篇)...