Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut]Przeglądarka z kartami i paskiem postępu


Gość Pan Szymek

Rekomendowane odpowiedzi

Gość Pan Szymek
Opublikowano

Założenia:

Bazujemy na kontrolce WebBrowser

Obsługujemy karty dodawane przez wciśnięcie przycisku na pierwszej karcie

I tyle.

 

 

1.Tworzymy nowy projekt Windows Forms

2.Otwieramy Program.cs

Zmieniamy jego zawartość na:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[sTAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new okno());
}
}

class okno : Form
{
public okno()
{
}
}
}

 

Teraz zmienimy tytuł, rozmiar, ramkę i ukryjemy ikonę okna przez dodanie w konstruktorze klasy "okno" tego kodu

this.Text = "Przeglądarka";
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.ShowIcon = false;
this.Size = new System.Drawing.Size(1187, 614);

 

Teraz utworzymy kontrolkę z zakładkami

TabControl zakladki = new TabControl()
{
Alignment = TabAlignment.Bottom,
Multiline = true,
Dock = DockStyle.Fill,
Appearance = TabAppearance.Normal,
};

 

Czas zająć się pierwszą kartą, na której dodawać będziemy inne

TabPage domyslna = new TabPage()
{
Text = "Dodaj",
};

TextBox txtBoxNazwa = new TextBox()
{
Dock = DockStyle.Top,
};

Button btnDodaj = new Button()
{
Text = "Dodaj zakładkę",
Dock = DockStyle.Top,
};

 

Po tym musimy napisać kod dla wciśnięcia przycisku "Dodaj", w tym celu dodajemy następujący kod

btnDodaj.Click += new EventHandler((object sender1, EventArgs args) =>
{
if (txtBoxNazwa.Text.Equals(""))
{
MessageBox.Show("Podaj nazwę nowej zakładki!");
return;
}
int nr = zakladki.TabPages.Count;
zakladki.TabPages.Add(txtBoxNazwa.Text);
TextBox pasekAdresu = new TextBox()
{
Location = new System.Drawing.Point(3, 4),
Size = new System.Drawing.Size(898, 20),
Anchor = (AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right),
};
Button przejdz = new Button()
{
Text = "Przejdź",
Location = new System.Drawing.Point(1049, 2),
Anchor = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right),
Size = new System.Drawing.Size(108, 23),
};
ProgressBar progZaladowania = new ProgressBar()
{
Location = new System.Drawing.Point(907, 4),
Size = new System.Drawing.Size(136, 20),
Anchor = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right)
};
WebBrowser przegladarka = new WebBrowser()
{
Location = new System.Drawing.Point(3, 30),
Size = new System.Drawing.Size(1154, 516),
Anchor = (AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right),
};
przejdz.Click += new EventHandler((object sender2, EventArgs args2) =>
{
if (pasekAdresu.Text.Equals(""))
return;
else if (!pasekAdresu.Text.Substring(0, 7).Equals("http://") || !pasekAdresu.Text.Substring(0, 8).Equals("https://"))
pasekAdresu.Text = string.Format("http://{0}", pasekAdresu.Text);
przegladarka.Navigate(pasekAdresu.Text);
});
przegladarka.ProgressChanged += new WebBrowserProgressChangedEventHandler((object sender2, WebBrowserProgressChangedEventArgs args2) =>
{
if (args2.MaximumProgress > 0)
progZaladowania.Maximum = int.Parse(args2.MaximumProgress.ToString());
if (args2.CurrentProgress > 0 && args2.CurrentProgress < args2.MaximumProgress)
progZaladowania.Value = int.Parse(args2.CurrentProgress.ToString());
});
pasekAdresu.KeyDown += new KeyEventHandler((object sender2, KeyEventArgs args2) =>
{
if (args2.KeyCode == Keys.Enter)
przejdz.PerformClick();
});
zakladki.TabPages[nr].Controls.Add(pasekAdresu);
zakladki.TabPages[nr].Controls.Add(progZaladowania);
zakladki.TabPages[nr].Controls.Add(przejdz);
zakladki.TabPages[nr].Controls.Add(przegladarka);
});

W powyższym kodzie dodajemy nową zakładkę z odpowiednimi kontrolkami.

 

Dodajmy jeszcze dodawanie zakładki po wciśnięciu Enter w txtBoxNazwa

txtBoxNazwa.KeyDown += new KeyEventHandler((object sender1, KeyEventArgs args) =>
{
if (args.KeyCode == Keys.Enter)
btnDodaj.PerformClick();
});

 

Dodajemy kontrolki do domyślnej zakładki

domyslna.Controls.Add(btnDodaj);
domyslna.Controls.Add(txtBoxNazwa);
zakladki.TabPages.Add(domyslna);

 

No i pozostało dodać "zakładki" do naszego okna

this.Controls.Add(zakladki);

 

Screeny z aplikacji:

bsba.png

avta.png

Opublikowano

Super poradnik i na prawdę super przeglądarka, dodać to do jakiegoś spisu !! :D

 

 

PS. mógł byś dodać kod, żeby kiedy jesteś na nowej karcie to była widoczna lista ulubionych.

"Jesteśmy ludźmi, bo popełniamy błędy i na nich się uczymy."

Gość Pan Szymek
Opublikowano

Super poradnik i na prawdę super przeglądarka, dodać to do jakiegoś spisu !! :D

 

 

PS. mógł byś dodać kod, żeby kiedy jesteś na nowej karcie to była widoczna lista ulubionych.

Później zrobię małą aktualizację.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...