winform 加webbrowser 做的一个登录程序,怎么才能实现登录后返回当前浏览的页面,最好帮忙将这个功能实现,就是无法返回当前页面。

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Xml;usingmshtml;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();textBox_url.Text="http://bbs.jznews.com.cn/portal.php";InitListView();LoadUserData();}//privatevoidherfclick(stringurl)//{//for(inti=0;i<webBrowser1.Document.All.Count;i++)//{//if(webBrowser1.Document.All[i].TagName=="A"&&webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim()==url)//{//webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件//break;//}//}//}privatevoidwebBrowser1_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgse){webBrowser1.ScriptErrorsSuppressed=true;if((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))//登陆页面||(e.Url.ToString().ToLower().Equals(""))){HtmlElementtextboxUserId=this.webBrowser1.Document.GetElementById("ls_username");//如果没有ID,用Name获取//HtmlElementtextboxUserId=this.webBrowser1.Document.All["登录用户名文本框的Name"];HtmlElementtextboxPassword=this.webBrowser1.Document.GetElementById("ls_password");//如果没有ID,用Name获取//HtmlElementtextboxPassword=this.webBrowser1.Document.All["登录密码框的Name"];//HtmlElementbuttonSubmit=this.webBrowser1.Document.GetElementById("ls_cookietime");//如果没有ID,用Name获取//HtmlElementbuttonSubmit=this.webBrowser1.Document.All["ls_cookietime"];for(inti=this.listView_usr.SelectedItems.Count-1;i>=0;i--){ListViewItemitem=this.listView_usr.SelectedItems[i];//this.listView_usr.Items.Remove(item);stringstrUsr=item.SubItems[0].Text;stringstrPwd=item.SubItems[1].Text;textboxUserId.InnerText=strUsr;//填写帐号textboxPassword.InnerText=strPwd;//填写密码}//触发登录事件HtmlElementCollectionelements=this.webBrowser1.Document.GetElementsByTagName("button");//Request.ServerVariables("HTTP_REFERER");foreach(HtmlElementiteminelements){if(item.GetAttribute("className").Equals("pnvm")&&item.GetAttribute("type").Equals("submit")){//continue;item.InvokeMember("click");}//elseif(item!=textBox_url.Text)//{//item.InvokeMember("click");//}}}//elseif((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))//||(e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/")))//{//HtmlElementCollectionlinks=webBrowser1.Document.Links;//foreach(HtmlElementlinkinlinks)//{//if(null==link.InnerText)//{//continue;//}//if(link.InnerText.Equals(""))//{//link.InvokeMember("click");//激发链接的点击事件//}//}//}}privatevoidwebBrowser1_NewWindow(objectsender,CancelEventArgse){e.Cancel=true;//取消使用系统的IE打开超链接webBrowser1.Navigate((senderasWebBrowser).Document.ActiveElement.GetAttribute("href"));//继续在窗体中打开页面}privatevoidwebBrowserQuit(){if(null==webBrowser1.Document){return;}webBrowser1.Document.Cookie="";HtmlElementCollectionlinks=webBrowser1.Document.Links;if(null==links){return;}foreach(HtmlElementlinkinlinks){if(null==link.InnerText){continue;}if(link.InnerText.Equals("退出")){link.InvokeMember("click");//激发链接的点击事件break;}}}privatevoidbutton1_Click(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();//if(null==webBrowser1.Url)//{webBrowser1.Url=newUri(textBox_url.Text);//}}}privatevoidInitListView(){listView_usr.GridLines=true;listView_usr.FullRowSelect=true;listView_usr.View=View.Details;listView_usr.Scrollable=true;listView_usr.MultiSelect=false;listView_usr.HeaderStyle=ColumnHeaderStyle.Nonclickable;listView_usr.Columns.Add("用户名",100,HorizontalAlignment.Right);listView_usr.Columns.Add("密码",100,HorizontalAlignment.Left);}privatevoidLoadUserData(){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);XmlNodeListnewXMLNodes=XMLDom.SelectNodes("/users/user");listView_usr.Items.Clear();foreach(XmlElementxninnewXMLNodes){//XmlElement*pstElememt=(XmlElement*)&XmlNode;stringstrId=xn.GetAttribute("id");stringstrPwd=xn.GetAttribute("pwd");ListViewItemli=newListViewItem();li.SubItems.Clear();li.SubItems[0].Text=strId;li.SubItems.Add(strPwd);listView_usr.Items.Add(li);//MessageBox.Show(title);}}privatevoidlistView_usr_SelectedIndexChanged(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();webBrowser1.Url=newUri(textBox_url.Text);}}privatevoidlistView_usr_DoubleClick(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();if(null==webBrowser1.Url){webBrowser1.Url=newUri(textBox_url.Text);}}}privatevoidbutton_addusr_Click(objectsender,EventArgse){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);XmlElementtheUser=XMLDom.CreateElement("user");theUser.SetAttribute("id",textBox_usr.Text);theUser.SetAttribute("pwd",textBox_pwd.Text);XMLDom.DocumentElement.AppendChild(theUser);XMLDom.Save(strPath);LoadUserData();}privatevoidbutton_delusr_Click(objectsender,EventArgse){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);for(inti=this.listView_usr.SelectedItems.Count-1;i>=0;i--){ListViewItemitem=this.listView_usr.SelectedItems[i];//this.listView_usr.Items.Remove(item);stringstrUsr=item.SubItems[0].Text;stringstrItemPath="/users/user[@id=""+strUsr+""]";XmlElementtheUser=(XmlElement)XMLDom.SelectSingleNode(strItemPath);if(null!=theUser){theUser.ParentNode.RemoveChild(theUser);}}XMLDom.Save(strPath);LoadUserData();}privatevoidForm1_Load(objectsender,EventArgse){}}}

解决方案

解决方案二:
该回复于2011-12-08 11:03:09被版主删除
解决方案三:
我晕哦,怎么被删除了,

时间: 2024-09-20 04:16:59

winform 加webbrowser 做的一个登录程序,怎么才能实现登录后返回当前浏览的页面,最好帮忙将这个功能实现,就是无法返回当前页面。的相关文章

java做了一个exe程序怎么通过监听返回运行程序的路径

问题描述 java做了一个exe程序怎么通过监听返回运行程序的路径 用java写了个程序,想实现开机启动的功能,方法是想写入注册表,但是我要怎么知道我打开的这个程序的路径,就是我要通过监听,然后程序打开开机启动功能怎么返回该程序的路径,明白我的意思吗,或者有其他方法也可以? 解决方案 可以通过两种方式解决: 1.String path = new File(".").getCanonicalPath(); 2.System.getProperty("user.dir"

android 相机-Android做了一个相机程序,但是拍出来的照片方向不对!

问题描述 Android做了一个相机程序,但是拍出来的照片方向不对! 就是我手机竖着拿,预览的时候是正常的,拍出来的照片就成横着的了!

编程-有一个小程序急用,但是我不会编译,求大神帮忙编译啊~~~太感谢!!

问题描述 有一个小程序急用,但是我不会编译,求大神帮忙编译啊~~~太感谢!! 如题,是一个小程序,用的是自己的makefile,下载下来了但是不会编译啊~~~~要exe格式的,那位大神可以帮忙编译出来真是太感激不尽!或者教一下我~~~太感谢了!编译好请发zhaojialiangsuper@126.com~源码地址 源码:https://releases.stm32flash.googlecode.com/git/stm32flash-0.4.tar.gz 解决方案 http://download

mfc-做了一个MFC程序 为什么只有通过VC运行时才正常?

问题描述 做了一个MFC程序 为什么只有通过VC运行时才正常? 在VC6.0上做的,通过它运行时没有问题的,但是直接点开exe程序就不正常,在WIN7.WIN8.WIN10上都是如此 解决方案 用Depends.exe工具看看是不是运行时缺少依赖库 解决方案二: 按Ctrl+F5运行下看看还正常嘛,有使用第三方的库吗 解决方案三: 不正常是什么样的错误呢? 解决方案四: 是怎么个不正常法,是提示确少运行库么,或者你可以静态编译试下

java代码-用Java做了一个记忆翻盘游戏,但是不知道怎么加进声音

问题描述 用Java做了一个记忆翻盘游戏,但是不知道怎么加进声音 10C 求大神帮忙,才学了两个月,用Java弄了一个记忆翻盘游戏,游戏界面已经可以呈现出来,但是不知道怎么加进声音,最好能提供一下代码,拜托拜托- 解决方案 import javax.sound.midi.*;try {Sequencer sequencer = MidiSystem.getSequencer();sequencer.open();Sequence sequence = MidiSystem.getSequence

javascript-用myeclipse做了一个网站,报了500错误,求详细解答。

问题描述 用myeclipse做了一个网站,报了500错误,求详细解答. 用myeclipse10做了一个交友网站,注册完登陆后显示500错误,我觉得应该是路径错误, 但我不知道具体错误在哪里,求详细解答. 以下是我myeclipse中console后的错误报告: 信息: Server startup in 17270 ms service... 三月 22, 2016 10:33:24 上午 org.apache.catalina.core.StandardWrapperValve invok

图片-第一个activity切换到第二个activity后组件不显示

问题描述 第一个activity切换到第二个activity后组件不显示 两个activity切换,第二个avtivity将数据返回给第一个activity.但是切换到第二个activity后组件不显示 Activity01: Activity02: 布局1: 布局2: 配置文件: 解决方案 resultCode== Activity.RESULT_OK 改成这样就好了

用c#做了一个winform程序,涉及到了数据库.这个程序要放到别人电脑上用,别人电脑没安数据库,我怎么才能让别人的电脑用这个程序时可以访问到我 的电脑上的数据

问题描述 用c#做了一个winform程序,涉及到了数据库.这个程序要放到别人电脑上用,别人电脑没安数据库,我怎么才能让别人的电脑用这个程序时可以访问到我的电脑上的数据,在网上看到了改写数据库连接的办法,还有更改别人电脑上的设置,有点看不懂,哪位大神教教我,万分感谢! 解决方案 解决方案二:如果网络是通的,对方电脑能访问你的数据库,就可以了解决方案三:把连接字符串写在配置文件里,保证通过网络能够访问你的机器上的数据库,这样就可以了解决方案四:这个涉及几个问题1,你用的数据库:如果是服务器类数据库

wpf通过WindowsFormsHost加载了一个winform的WebBrowser

问题描述 wpf通过WindowsFormsHost加载了一个winform的WebBrowser wpf中的TabControl通过WindowsFormsHost加载了一个winform的WebBrowser在winform的WebBrowser的webBrowser_Navigating事件中怎么拿到这个WebBrowser所在的wpf容器也就是TabItem 解决方案 http://www.360doc.com/content/12/0621/18/10255389_219673956.