有个问题困扰了2天了,特来请教:
public partial class Form1 : Form
{
public void 登录_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(" http://www.baidu.com");
string buf;
buf = webBrowser1.DocumentText;
}
}
这个webBrowser1在正常按键单击时,buf就有输出,但是在别的类里面调用“登录_Click()”时,buf就是空的,
webBrowser1状态也是未初始化(窗体上已经显示有内容),哪位有经验提醒一下小弟,谢谢!
public partial class Form1 : Form
{
public void 登录_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(" http://www.baidu.com");
string buf;
buf = webBrowser1.DocumentText;
}
}
这个webBrowser1在正常按键单击时,buf就有输出,但是在别的类里面调用“登录_Click()”时,buf就是空的,
webBrowser1状态也是未初始化(窗体上已经显示有内容),哪位有经验提醒一下小弟,谢谢!
解决方案 »
- 此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址随便造成的。请稍候重试。
- string.Empty 与 "" 之前有什么区别
- 简单的疑问?
- '13' 附近有语法错误。
- .net打包程序時如何把數據庫打包進去?
- 领导要我义务献血, 没休息, 没报酬, 班照加, 任务不减, 您会去吗? 怎么退托给个法吧.
- c# 读取文件时总报另一个进行在用,急急。
- 给点建议——用.NET和SQL Server做点什么有意思的
- flexgrid会死机,谁能帮忙解决?
- 【在线等】!~!~!~
- 回复帖子后,要在尾部马上看到自己回复的内容,用js的back()总是重复提交,怎么处理?asp的,大家说说思路
- 求助(C#中,怎么更新数据库中的内容)
他的登录_Click()是public 的
Form1 a=new Form1();
a.登录_Click(null,null);
是Navigate之后,确保页面已经显示有内容的情况下。两种调用方式结果有区别。
using System.Windows.Forms;namespace WindowsFormsApplication1
{
public delegate void WebBrowserDocumentCompleted(String html); public partial class Form1 : Form
{
public event WebBrowserDocumentCompleted OnWebBrowserDocumentCompleted; public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
} Boolean _bDocumentCompleted;
private void button1_Click(object sender, EventArgs e)
{
_bDocumentCompleted = false;
webBrowser1.Navigate("http://www.baidu.com");
int i = 0;
while(true)
{
System.Threading.Thread.Sleep(1000);
i++;
if (i >= 10 || _bDocumentCompleted)
{
break;
}
} string buf;
buf = webBrowser1.DocumentText;
} private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// 基本上能下载回成了
_bDocumentCompleted=true;
if (OnWebBrowserDocumentCompleted != null)
{
OnWebBrowserDocumentCompleted(webBrowser1.DocumentText);
}
}
}
}
建议了解一下什么是类,什么是对象
以及对象的生存期
我愚见,webBrowser1 是 webBrowser的实例化以后的一个对象。生存周期就是从应用程序打开到结束。
因为他一直都是在我窗体上显示着。