PDA

View Full Version : مبتدی: لود مقادیر listbox در webbrowser



Moh@mmad
شنبه 27 فروردین 1390, 10:36 صبح
سلام دوستان

من یه لیست باکس دارم که تعدادی url در اون قرار داره که میخوام با کلیک روی باتن
هر آیتم لیست باکس در وب بروزر لود بشه و بعد از پر کردن دو تا فیلدی که توی وب بروزر هست
عملیات ارسال که صورت گرفت آیتم بعدی لیست باکس در وب بروزر لود بشه و این عمل دوباره تکرار بشه
تا تمام url درون لیست باکس
(چیزی شبیه به اسپمر وبلاگ )

من با کد زیر این کارو انجام دادم اومدم زمان وقفه تعیین کردم ولی خوب کار نمیکنه یعنی ممکنه یه سایت دیرتر از
اون زمان لود بشه و دیگه عملیات ارسال فرم انجام نمیشه و برنامه میره سراغ آیتم بعدی


private void Form1_Load(object sender, EventArgs e)
{
Form1.CheckForIllegalCrossThreadCalls = false;
}

Thread t1;
ThreadStart ts1;
int count;
int index = 0;
private void btnprosecc_Click(object sender, EventArgs e)
{
count = listBox1.Items.Count;
ts1 = new ThreadStart(DoSome);
t1 = new Thread(ts1);
t1.Start();
}
protected void DoSome()
{
L1:
System.Threading.Thread.Sleep(8000);
webBrowser2.Navigate(listBox1.Items[index] + "/form".ToString());
listBox1.SelectedItem = listBox1.Items[index];
index += 1;
if (index <= count - 1)
goto L1;
else
{
MessageBox.Show("OKEY DONE");
return;
}

exlord
شنبه 27 فروردین 1390, 13:06 عصر
webbrowser یه اونت DocumentCompleted داره بعد از لود شدن کامل صفحه Fire میشه ...

Moh@mmad
شنبه 27 فروردین 1390, 13:25 عصر
خیلی ممنون از جوابتون

میشه بگین من این اونت رو کجا باید قرار بدم

System.Threading.Thread.Sleep(8000);
رو باید حذف کنم ؟!

محسن شامحمدی
شنبه 27 فروردین 1390, 17:31 عصر
میشه بگین من این اونت رو کجا باید قرار بدم
برو توی رویدادهای شی Webbrowser رویداد DocumentCompleted رو پیدا می کنی


System.Threading.Thread.Sleep(8000); رو باید حذف کنم ؟!
آره دیگه می تونی حذفش کنی چون دیگه اینطوری نیازی به حدس زدن زمان نیست و با رویداد DocumentCompleted می تونی بفهمی صفحه لود شد یا نه!

sara_aryanfar
شنبه 27 فروردین 1390, 20:28 عصر
صفحاتی که این قسمت رو نمی زارن بیاد چی مثلا وبلگ های بلاگفا که ارسال نظر توشون بسته هست وقتی برنامه به یکی از این وبلاگا می رسه متوقف میشه چیکار باید کرد؟