به نام حق، عرض سلام و درودی خدمت دوستان و کاربران عزیز این وب و همچنین بازدیدکنندگان جدید که تازه به این وب تشریف آوردن، قدم رنجه فرمودن :) توو این پست میخوایم پروژه محور پیش بریم و یه مرورگر ساده و کوچولو با سی شارپ بنویسیم. این مرورگر برخلاف تصور عموم کد های زیادی نداره و خیلی هم ساده و شیک و مجلسیه.
اول تولباکس و دیزاین رو میچینیم. خب تولباکس هایی که ما برای اینکار نیاز داریم به شرح ذیل می باشد :)
5 تا Button
1 دونه TextBox
خب حالا یه شی جدید: 1 دونه تب کنترل TabControl
1 دونه هم ProgressBar
خب اینارو مطابق سلیقه خودتون بچینین. ولی خاصیت اینا رو بهتون میگم:
باتن 1 برای بازگشت به صفحه قبلیه. پس مقدار text اینو بزارین Back
باتن 2 برای بازگشت به صفحه ای که ازش بازگشت کردین :) اصطلاحا بهش میگن unback یا forward. پس مقدار text اینو بزارین unback یا forward
باتن 3 برای رفریش کردن صفحه ست، مقدار text رو بزارین Refresh
باتن 4 هم برای متوقف کردن جستجوهه مقدار text رو میتونین بزارین Stop
باتن 5 هم که برای ادد کردن تب جدیده پس مقدار text رو میتونین بزارین New Tab
حالا علیه الحال به جای این باتن ها میتونین از پیکچر باکس و اینا هم برای خوشگل موشگلیش استفاده کنین که میسپارم به خودتون...
* فقط سایز تب کنترل رو تا جا دارین بزرگ کنین چون قراره صفحات وب توو تب کنترل به نمایش دربیاد...
خب میرم روو کدنویسی پروژمون. اول دو تا متغیر زیر رو به صورت گلوبال تعریف کنین ( ینی خارج از رویداد فرم و اشیا و اینا)
private WebBrowser[] browser = new WebBrowser[50];private int browser_index = 0;
void ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
int current_progress = Convert.ToInt32(e.CurrentProgress);
int total_progress = Convert.ToInt32(e.MaximumProgress);
this.progressBar1.Value = (current_progress / total_progress) * 100;
}
void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.tabControl1.SelectedTab.Text = browser[tabControl1.SelectedIndex].DocumentTitle;
}
private void AddNewTab()
{
browser_index++;
TabPage newTabPage = new TabPage("Virus32");
browser[browser_index] = new WebBrowser();
browser[browser_index].Dock = DockStyle.Fill;
browser[browser_index].Navigate("Virus32.blog.ir");
newTabPage.Controls.Add(browser[browser_index]);
tabControl1.TabPages.Add(newTabPage);
tabControl1.SelectTab(newTabPage);
}
TabPage mainPage = new TabPage("Virus32");
browser[browser_index] = new WebBrowser();
browser[browser_index].Dock = DockStyle.Fill;
browser[browser_index].Navigate("Virus32.blog.ir");
mainPage.Controls.Add(browser[browser_index]);
tabControl1.TabPages.Add(mainPage);
browser[browser_index].GoBack();
browser[browser_index].GoForward();
browser[browser_index].Refresh();
browser[browser_index].Stop();
AddNewTab();
if (e.KeyCode == Keys.Enter)
{
browser[tabControl1.SelectedIndex].Navigate(textBox1.Text);
browser[tabControl1.SelectedIndex].DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
browser[tabControl1.SelectedIndex].ProgressChanged += new WebBrowserProgressChangedEventHandler(ProgressChanged);
}
قربون اتکر خودم!
دستت درد نکنه
اتکر به نظرت یه همچین چیزی میشه برا پایتون نوشت؟