开发环境:.net2.0 c# vs2005或2008均可
问题描述:我用WebBrowser控件作浏览器,当随便访问一个网站时,需要捕捉网页中类似alert弹出的消息框的弹出事件,同时得到该消息框的内容.(即当弹出一个消息时,我可以通过消息的内容来进行处理)。
本帖可给的100分!还有20元人民币!帮我解决问题后,在http://weike.taskcn.com/detail/index/id/24544
领取人民币。
问题描述:我用WebBrowser控件作浏览器,当随便访问一个网站时,需要捕捉网页中类似alert弹出的消息框的弹出事件,同时得到该消息框的内容.(即当弹出一个消息时,我可以通过消息的内容来进行处理)。
本帖可给的100分!还有20元人民币!帮我解决问题后,在http://weike.taskcn.com/detail/index/id/24544
领取人民币。
using System.Windows.Forms;
using System.Security.Permissions;[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class Form1 : Form
{
private WebBrowser webBrowser1 = new WebBrowser();
private Button button1 = new Button(); [STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
} public Form1()
{
button1.Text = "call script code from client code";
button1.Dock = DockStyle.Top;
button1.Click += new EventHandler(button1_Click);
webBrowser1.Dock = DockStyle.Fill;
Controls.Add(webBrowser1);
Controls.Add(button1);
Load += new EventHandler(Form1_Load);
} private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.AllowWebBrowserDrop = false;
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.WebBrowserShortcutsEnabled = false;
webBrowser1.ObjectForScripting = this;
// Uncomment the following line when you are finished debugging.
//webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.DocumentText =
"<html><head><script>" +
"function test(message) { alert(message); }" +
"</script></head><body><button " +
"onclick=\"window.external.Test('called from script code')\">" +
"call client code from script code</button>" +
"</body></html>";
} public void Test(String message)
{
MessageBox.Show(message, "client code");
} private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.InvokeScript("test",
new String[] { "called from client code" });
}}
我的做法有哪点不对了,是我对不起csdn的网友?还是你思想太古板了?你认为我错在给钱了,我就疑惑了,加了钱又什么不好的,照你的逻辑,美国的程序员不是要死一大片了,这个问题因为我觉得有点难度,所以光给分不能表达我心意,钱给太多,我条件也不允许呀,如果你觉得贬低csdn网友了,那你觉得多少合适呢?200还是2000?如果你觉得csdn里付费提问贬低csdn网友,那你觉得csdn未来会不会走experts-exchange的路线呢?一句总结:mqcan、FlashElf太古板了!多大的事呀,考虑的这么复杂。
csdn本来就是交流技术的地方
要谈钱就不该到这来要谈国外就去国外论坛好了这是中国!
experts-exchange不是讨论技术的么?“国外就去国外论坛”难道你不上国外技术论坛的么?技术还分国界么?“这是中国!”你不知道百度是在拷贝国外的experts-exchange商业模式?qq是拷贝ICQ的商业模式么?中国现在也在开始交易智慧呀,现在的威客网还少了?如果你觉得拿钱接项目是在侮辱你人格,那你牵头去抵制国内的威客了吧?那大家不谈国外了,不要研究c#了,不要用winxp,这些统统都是国外的。。在中国就不要看国外了,这是你的观点?请指教
我本来也是来交流技术的,是你们把问题搞的复杂,如果觉得钱侮辱你的人格,你不要就行了,答对问题只接分,那20我提你转给红十字会,这样多好呢?搞技术不看国外的?做网站不看国外的?做项目不看国外的?搞设计不看国外的?这是中国!那你蒙起头自己造原子弹吧。
鉴于csdn网友的异议,我声明:答对问题的朋友,这20我不会硬塞给你,你可要可不要,我的本意是表达自己的心意,算是请兄弟喝杯茶,钱不多,只是我的心意,觉得钱少请见谅,我挣钱也不容易,你如果不要,只接分也行,问题解决后我以你的名义转交给红十字会,献给灾区,并把缴费记录贴图上来让兄弟们监督。