PDA

View Full Version : سوال در مورد Webbrowser در c#



aseman-sky
سه شنبه 01 آذر 1390, 16:42 عصر
سلام

من خیلی تازه واردم و خیلی کم از سی شارپ میدونم ولی به این زبان برنامه نویسی علاقه دارم و میخوام یاد بگیرم ، در حال حاظر سوال من اینه که وقی من با webbrowser در سی شارپ یک ادرس رو باز میکنم چطور میشه روی این صفحه کنترل داشت ، مثلا یک button بذارم پایین webbrowser که وقتی ر وی اون کلیک میکنن مثلا دکمه ی ورود توی اون صفحه ی اینترنتی انتخاب بشه
در ضمن این صفحه که گفتم زبان برنامه نویسیش جاوا هست

mmd2009
سه شنبه 01 آذر 1390, 18:32 عصر
با سلام

خب ببین شما باید اول تمامی element های این webBrowser رو بگیرد ( البته اونایی که از نوع Input هستند) حالا شما با استفاده از یک حلقه ، Attribute مورد نظرخودتون رو پیدا کنید و با استفاده از نامش اون کنترل روی webBrowser رو بدست بیارید سپس رویداد Click اون element رو با استفاده از متد InvokeMember خود element اجرا کنید

موفق باشید.

aseman-sky
سه شنبه 01 آذر 1390, 18:43 عصر
حالا این متد ها رو باید از کجا یاد گرفت:اشتباه:

mmd2009
سه شنبه 01 آذر 1390, 19:06 عصر
خب یک مثال برات میزنم که راحتر متوجه بشی

کافیه رو فرمت 2 دکمه و یک webBrowser بذاری بعدش به این ترتیب عمل می کنیم که :

برای نمایش وبسایت فرضا google به این صورت عمل می کنیم :


private void BtnShowWebClick(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.Google.com");
}


بعد از اینکه یک مقدار وارد ورودی تکست باکس وب سایت google کردی کافیه روی دکمه بعدی کلیک کنی که دکمه بعدی شامل این کدهاست :


private void BtnRunClick(object sender, EventArgs e)
{
if (webBrowser1.Document != null)
{
RunNewPage("name", "btnG");
}
}

private void RunNewPage(string attribute, string attName)
{
if (webBrowser1.Document == null) return;
foreach (var element in webBrowser1.Document.GetElementsByTagName("input")
.Cast<HtmlElement>().Where
(element => element.GetAttribute(attribute).Equals(attName)))
{
element.InvokeMember("click");
}
}


نا گفته نماند که شما به فضای نام های زیر برای کدهای بالا حتما نیاز دارید :


using System;
using System.Linq;
using System.Windows.Forms;


موفق باشید.

system32
سه شنبه 01 آذر 1390, 22:24 عصر
دوست عزیز کافی است از MSDN یا راهنمای پویای خود ویژوال استفاده کنی. برای استفاده از راهنمای پویا (Dynamic Help) کافی است کنترل را انتخاب کنید و از پنل مربوطه راهنما را انتخاب کنی. می تونی هم یه چرخی توی خواص و متدهاش بزنی پشیمون نمی شید.

موفق باشید.

hosaini
چهارشنبه 02 آذر 1390, 09:00 صبح
سلام اینم دستورات
Webbrowser

سایت قبلی: webBrowser1.GoBack();
سایت بعدی: webBrowser1.GoForward();
صفحه خانگی:webBrowser1.GoHome();
جستجو: webBrowser1.GoSearch();
رفرش:webBrowser1.Update();
پرینت: webBrowser1.ShowPrintPreviewDialog();
ذخیره: webBrowser1.ShowSaveAsDialog();
باید قبلش رویداد را تعریف کنی
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
textBox1.Text = webBrowser1.Url.ToString();
if (webBrowser1.CanGoBack)
button2.Enabled = true;
else
button2.Enabled = false;
if (webBrowser1.CanGoForward)
button3.Enabled = true;
else
button3.Enabled = false;
}

aseman-sky
جمعه 04 آذر 1390, 13:19 عصر
حالا چطور میشه یه قسمت خاص از web page رو نشون داد ؟ مثلا فقط وسط گوگل

mmd2009
یک شنبه 06 آذر 1390, 16:02 عصر
این سوالتون رو در یک تاپیک جدید بپرسید.


موفق باشید