110,567
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using System.Security.Permissions;
using System.Runtime.InteropServices;
namespace htmlcode
{
//通过这里的委托进行与父窗体的交互
public delegate void DelegateChangeTextVal(string TextVal);
public partial class web_Browse : WeifenLuo.WinFormsUI.Docking.DockContent
{
/// <summary>
/// 委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void MyDelegate(object sender, MyEventArgs e);
public event MyDelegate MyEvent;
// 2.定义委托事件
public event DelegateChangeTextVal ChangeTextVal;
//此类必须对 COM 可见,才能从Javascript中调用。
[ComVisible(true)]
public class sCall
{
public sCall()
{
}
public void cCall_js(string sms)
{
//这里想像能button1_Click事件一样操作到父窗休.但这里不管怎么操作都无反应,也没有错误。
}
}
public web_Browse()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true; //禁用错误脚本提示
webBrowser1.IsWebBrowserContextMenuEnabled = false; //禁用右键菜单
webBrowser1.WebBrowserShortcutsEnabled = false; //禁用快捷键
webBrowser1.AllowWebBrowserDrop = false;//禁止拖拽
webBrowser1.ScrollBarsEnabled = false;//禁止滚动条
webBrowser1.Navigate(Application.StartupPath + "\\html\\index.html");
webBrowser1.ObjectForScripting = new sCall();
}
private void button1_Click(object sender, EventArgs e)
{
ChangeMainFormText("成功");//这里能成功更新主窗体
//
}
public void ChangeMainFormText(string TextVal)
{
ChangeTextVal(TextVal);
}
}
}
}
public class sCall {
public sCall() {
}
public void cCall_js(string sms)
{
Message.Show(sms); //这里能显示值的,
}
}
都做了.public class sCall { public sCall() { } public void cCall_js(string sms) { Message.Show("ok");//这样是成功的. } }