PDA

View Full Version : مشکل با webbroswer



mokamel
شنبه 14 شهریور 1394, 13:31 عصر
سلام
دوستان من در قسمتی از برنامه ام . از یک بروزر خود سی شارپ استفاده کردم. مشکلم اینه که چون url بروزر رو با کد عوض میکنم برای ادامه دستوراتم باید حتما صفحه جدید لود شده باشه . اما خوب قاعدتا اجرای برنامه از لود شدن صفحه ت وبروزر خیلی سریع تر هستش واسه همین ارور نال رفرنس میده همش .

چطوری می تونم برنامه ام رو توی تردی که هستم متوقف کنم تا بروزر صفحه رو لود کنه و بعد ادامه بده . دقت کنید نمی خوام ترد جدیدی برای ادامه دستوراتم باز کنم و همنچنین میشه بگید از کجا بفهمم که صفحه جدید رو بروزر کامل لود کرده ؟

ژیار رحیمی
شنبه 14 شهریور 1394, 20:12 عصر
سلام تابع Thread رو بدینصورت بنویس

public void ReadOnlinePage()
{
if(IsHandleCreated)
Invoke((MethodInvoker) delegate
{
using (var browser = new WebBrowser())
{
browser.ScriptErrorsSuppressed = true;
browser.Navigate("http://www.barnamenevis.org/");


while (browser.ReadyState != WebBrowserReadyState.Complete)
Application.DoEvents();
//کد هایی که بعد از لود کامل صفحه نوشته میشود
}
});
}



نحوه فراخوانی از Thread هم بدین صورت

new Thread(ReadOnlinePage).Start();