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

[Pytanie] Nowe ''Bajery'' i ''Funkcje'' dla przeglądarki


Rekomendowane odpowiedzi

Opublikowano

Witajcie




Posiadam własną przeglądarkę lecz jest ona bardzo prosta i chciałbym ją ''podrasować'' czyli dodać coś takiego jak



''Opcje'' w której to będą takie funkcje jak : Ustawienie Strony Głównej , Historia , Ulubione



O Dodawaniu nowych kart nie wspominam bo podobno jest to bardzo trudne do zrobienia lecz jak ktoś ma chęci i wie jak to zrobić zapraszam tutaj albo na PW



Jeśli Wiecie i chcecie mi pomóc ''podrasować'' moją przeglądarkę proszę pisać jak to zrobić typu dodanie tych ''Opcji''.



Potrzebuję Jasnych Wytłumaczeń nie Bredni typu : E=Mc2 czy jakichś innych nie zrozumiałych języków


531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

''Opcje'' w której to będą takie funkcje jak : Ustawienie Strony Głównej , Historia , Ulubione

To WSZYSTKO możesz zrobić za pomocą my.settings

Nowa forma z ustawieniami i dane do my.settings przez textbox.text i webbrowser.url = my.settings.(NP.URL)

Ulubione podobnie,tylko w ramach labela albo jakiegoś rozwijanego menu

unibag.png


Opublikowano

By zrobić karty nie trzeba być jakimś profesjonalistą. 2 Kontrolki i parę zdarzeń.

 

Zalecam zaznajomienie się z tą kontrolką:

http://www.codeproject.com/Articles/91387/Painting-Your-Own-Tabs-Second-Edition

Pozwala ona tworzyć karty, które można potem zamykać. Dostępnych jest wiele styli.

 

Więc zacznijmy:

1. Importujemy bibliotekę do naszego projektu. Kompilujemy projekt i wstawiamy nową kontrolkę do naszej formy.

Jeśli nie widać kontrolki w ToolBox:

Tworzymy zwykły TabControl, po czym klikamy na plus obok naszej klasy (Form1) w Solution Explorer i włączamy Form1.Designer.cs

 

Zmieniamy z

private System.Windows.Forms.TabControl tabControl1;

na:

private System.Windows.Forms.CustomTabControl tabControl1;


Oraz z:

this.tabControl1 = new System.Windows.Forms.TabControl();

na:

this.tabControl1 = new System.Windows.Forms.CustomTabControl();

Po przejściu na naszą foremkę wszystko jest gotowe.

 

2. Klikamy na nową utworzoną kontrolkę. W Proporties zmieniamy DisplayStyle na np. IE8. Kolorki sami możemy sobie pozmieniać w DisplayStyleProvider.

3. Kasujemy wszystkie karty w naszym TabControl1.

4. Rozszerzamy nasze karty do rozmiarów, które chcemy by miał. Dodajemy jeszcze Anchor w Proporties na wszystkie strony.

5. Tworzymy button, po którego przyciśnięciu, będą tworzyły się nowe karty.

6. W kodzie naszej foremki Form1.cs dodajemy zmienną

List<WebBrowser> webBrowser = new List<WebBrowser>();

7. Do przycisku tworzymy zdarzenie Click i wklepujemy następujący kod:

private void button1_Click(object sender, EventArgs e)
{
    TabPage newPage = new TabPage(); //Tworzymy nową karte
    newPage.Text = "Nowa strona"; //Tekst nowej karty

    WebBrowser newBrowser = new WebBrowser(); //Nowy WebBrowser
    newBrowser.Navigate("http://google.pl"); //Zmiana nawigacji w nowym WB
    newBrowser.Dock = DockStyle.Fill; //Ustawienie Dock
    newBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler((sender_s, e_s) => wb_DocumentCompleted(sender_s, e_s, newPage)); //Dodanie zdarzenia do DocumentCompleted

    newPage.Controls.Add(newBrowser); //Dodanie WB do karty
    tabControl1.TabPages.Add(newPage); //Dodanie karty do tabControl
    webBrowser.Add(newBrowser); //Dodanie WB do zmiennej z WebBrowserami
    tabControl1.SelectedIndex = tabControl1.TabPages.Count - 1; //Zaznaczanie utworzonej karty
}

private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e, TabPage tab)
{
    WebBrowser wb = (WebBrowser)sender; //Zmiana z sender na webBrowser
    if ( wb.Document != null ) //Sprawdzanie czy dokument nie jest pusty
        tab.Text = wb.Document.Title; //Zmiana nazwy karty z webBrowser
}

Stworzyliśmy przy okazji zdarzenie DocumentComplited dla każdego nowego webBrowser-a

8. Tworzymy zdarzenie TabClosing dla tabControl1.

private void tabControl1_TabClosing(object sender, TabControlCancelEventArgs e)
{
    webBrowser.RemoveAt(e.TabPageIndex); //Usuwanie WB ze zmiennej z WebBrowserami
}

Nasze zakładki są gotowe! : D

 

Oczywiście to wszystko należy jakoś dopracować. To tylko przykładowy kod.

Opublikowano

@Hugo Jesteś Bogiem masz jeszcze jakieś propozycje ? :P|| Skąd tą bibliotekę wezmę ?

 

@SamWieszKto - No tak tylko dla zielonego to baardzo dokladnie wytłumaczyłeś spróbuj opisać jak Hugo :) będę wdzięczny

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

Wchodzisz w link. Klikasz "Download Compiled CustomTabControl Assembly - 18.33 KB", rejestrujesz się - potem logujesz i pobierasz : ). Przesadzasz ; ) Jestem po prostu programistą ; p

 

Albo trzymaj : ) (Załącznik)

 

NewCustomTabControlAssembly.zip

 

--EDIt--

 

Co do propozycji to napiszę potem, ponieważ teraz mam trochę swojej pracy, którą chciałbym skończyć. : )

Opublikowano

Ps.

Wiem Głupie Pytanie ale Importujemy czyli dodajemy nowy ''file' ? i wybieramy tą otóż biblioteke czy inaczej ? ;p

 

2 Głupie Pytanie jak Kompilować? xD (WIEM zielony jestem ;/)

 

 

____________________

Mam tylko probleem z tymi dwoma co na górze opisałem a reszte sobie poradze :P

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

Wykorzystaj do tego my.settings Pomoże Ci :D

a co to ma do czego bo dalej nie wiem ? ni z tąd ni z owąd wpadasz i piepszysz coś takiego a ja nawet nie wiem do czego to może ''odpowiedz'' lub ''zacytuj'' i wtedy dopisz swoje przemyślenia a nie takie coś .

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

Dodawanie bibliotek:

Prawy przycisk myszy na Twój projekt w Solution Explorer (zielona ikona projektu). -> Add Reference... -> Browse, a następnie wybierasz bibliotekę i klikasz OK

 

Kompilowanie:

W menu na samej górze Build -> Build Solutuion skrót to F6

 

: )

 

On "dodawał" swoje zdanie do postu od SamWieszKto1231

Opublikowano

Dodawanie bibliotek:

Prawy przycisk myszy na Twój projekt w Solution Explorer (zielona ikona projektu). -> Add Reference... -> Browse, a następnie wybierasz bibliotekę i klikasz OK

 

Kompilowanie:

W menu na samej górze Build -> Build Solutuion skrót to F6

 

: )

 

On miał "dodawał" swoje zdanie do postu od SamWieszKto1231

 

Hugo znów ratujesz jutro dostajesz odemnie limit lajków ! :) i dzięki jak znów jakiś problem wystąpi to napisze tutaj ale wątpię resztę przeczytałem i all rozumiem :)

 

Program znalazł błąd :

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NonewName")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NonewName")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e8bd1872-3cfe-40b2-9acc-72e8bc123f0b")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

To co podkreślone to pisze w errorach tak :

1. Duplicate ''Nazwa ta podkreślona'' attribute

i tak do 12

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

hugo mam pewne problemy takie jakby ''lagi'' co chwile znika lub pojawia sie ten TabControl i jak na niego sie nacisnie nic w proporties i nawet general sie nie otwieraja w toolboxie o co chodzi? o.O

 

Łap SS:

56080996420156667299.jpg

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

Też Mi się coś takiego zrobiło na samym początku : )

Zmień z: (plik Form1.Designer.cs)

private System.Windows.Forms.CustomTabControl tabControl1;

na:

private System.Windows.Forms.TabControl tabControl1;

Oraz z:

this.tabControl1 = new System.Windows.Forms.CustomTabControl();

na:

this.tabControl1 = new System.Windows.Forms.TabControl();

Wejdź na Twoją foremkę, tak by się wszystko odświeżyło. Potem wróć do pliku i przywróć to co było : p

Opublikowano

Też Mi się coś takiego zrobiło na samym początku : )

Zmień z: (plik Form1.Designer.cs)

private System.Windows.Forms.CustomTabControl tabControl1;

na:

private System.Windows.Forms.TabControl tabControl1;

Oraz z:

this.tabControl1 = new System.Windows.Forms.CustomTabControl();

na:

this.tabControl1 = new System.Windows.Forms.TabControl();

Wejdź na Twoją foremkę, tak by się wszystko odświeżyło. Potem wróć do pliku i przywróć to co było : p

 

No własnie i jeszcze zużycie procka mialem 90%-100% mimo iż mój komputer jest słaby to gry nawet po 20-30 wyciągaja ale nie do 100% ;p zamulilo mi prawie całego koompa ;/

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

To wyskakuje po zamianie tego kodu ;/ nawet tego 1 to juz wyskakuje z 2 nie ma różnicy to samo





72475745066099740141.jpg

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

a właśnie hugo piszesz na poczatku o kontrolce jak ona wgl wyglada ?
______________________________________________________

HUGO !!! ten sam błąd wyskakuje gdy zamieniam te this.tabcontrol
i private.tabcontrol czy jakoś tak znów to samo ;c tylko że jest 15 błędów nie 16

___

gdy klikne na ten 1 błąd odrazu pokazuje mi gdzie on jest i wskazało mi na tą liste

 

this.tabControl1.DisplayStyleProvider.BorderColor = System.Drawing.SystemColors.ControlDark;
this.tabControl1.DisplayStyleProvider.BorderColorHot = System.Drawing.SystemColors.ControlDark;
this.tabControl1.DisplayStyleProvider.BorderColorSelected = System.Drawing.Color.FromArgb(((int)(((byte)(165)))), ((int)(((byte)(172)))), ((int)(((byte)(178)))));
this.tabControl1.DisplayStyleProvider.CloserColor = System.Drawing.Color.DarkGray;
this.tabControl1.DisplayStyleProvider.FocusTrack = true;
this.tabControl1.DisplayStyleProvider.HotTrack = true;
this.tabControl1.DisplayStyleProvider.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tabControl1.DisplayStyleProvider.Opacity = 1F;
this.tabControl1.DisplayStyleProvider.Overlap = 0;
this.tabControl1.DisplayStyleProvider.Padding = new System.Drawing.Point(6, 3);
this.tabControl1.DisplayStyleProvider.Radius = 2;
this.tabControl1.DisplayStyleProvider.ShowTabCloser = false;
this.tabControl1.DisplayStyleProvider.TextColor = System.Drawing.SystemColors.ControlText;
this.tabControl1.DisplayStyleProvider.TextColorDisabled = System.Drawing.SystemColors.ControlDark;
this.tabControl1.DisplayStyleProvider.TextColorSelected = System.Drawing.SystemColors.ControlText;
this.tabControl1.HotTrack = true;
this.tabControl1.Location = new System.Drawing.Point(3, 50);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1260, 952);
this.tabControl1.TabIndex = 1;
to na czerwono to to mi podkreśla i zaznacza że to ten błąd .

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

Hugo zrobiłem tak otworzyłem to co ty napisałeś w notatniku i zrzuciłem i to samo z swoim projektem , pouzupełniałem swój projekt z twojego i wyszło tylko że nie ma w jednym kodzie '' ; '' i ''Error 1 'NonewName.Form1' does not contain a definition for 'tabControl1_TabClosing' and no extension method 'tabControl1_TabClosing' accepting a first argument of type 'NonewName.Form1' could be found (are you missing a using directive or an assembly reference?) D:\Przegladarka\NoNewName Przegladarka\NoNewName Przegladarka\Form1.Designer.cs 149 121 NoNewName Przegladarka''

 

I Jest podkreślona tam w nawiasie

this.tabControl1.TabClosing += new System.EventHandler<System.Windows.Forms.TabControlCancelEventArgs>(this.tabControl1_TabClosing);

 

z Tym '' ; '' sobie poradziłem teraz nie wiem jak z tym poradzić ale myślę że musze uzupełnić projekt dodając button ? czy dobrze myślę ? odpowiedz :P i jeszcze jedno dalej są te lagi , pytanie czy znów zamieniać te pliki tak jak radziłeś aby lagi znikneły ? bo jak próbowałem zamienić to znów wyskoczyło te 15-20 errorów i musiałem na nowo podkładać ;/

lagi są ciagle więc co poradzisz ?

ten powyższy problem z ''this.tabControl1.TabClosing...'' usunięty i teraz pojawił się nowy a przez lagi nie moge kontynuować mojej pracy gdzie został mi juz ostatni Step. 8

 

ps.

 

Dodał się nowy błąd (zobaczymy jak z tymi lagami jak o nie chodzi i je unicestwimy i zrobie step 8 . to może zniknie ale wątpie)

oto co w nim pisze

 

 

Error    1    'System.Windows.Forms.WebBrowser' does not contain a definition for 'Add' and no extension method 'Add' accepting a first argument of type 'System.Windows.Forms.WebBrowser' could be found (are you missing a using directive or an assembly reference?)    D:\Przegladarka\NoNewName Przegladarka\NoNewName Przegladarka\Form1.cs    90    18    NoNewName Przegladarka
 

i podkreśla mi wyraz ''add''

 

przegladarka.Add(newBrowser); //Dodanie WB do zmiennej z WebBrowserami

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

"przegladarka" ??? A masz w ogóle taką zmienną?? Ja u siebie nazwałem ją webBrowser:

List<WebBrowser> webBrowser = new List<WebBrowser>();
Opublikowano

"przegladarka" ??? A masz w ogóle taką zmienną?? Ja u siebie nazwałem ją webBrowser:

List<WebBrowser> webBrowser = new List<WebBrowser>();

 

 

On zrobił tą zmienną typu WebBrowser, a nie listy przeglądarek.

 

@topic

var przegladarka = new List<WebBrowser>();
Opublikowano

tak mam taką ahaaa czyli to mam poprawić oki :) w tym List<przegladarka>webBrowser = new List<przegladarka>(); ? tak jakoś ?

 

Czyli jak ma to wygladać? u mnie gdy mam zmienna ''przegladarka'' zamiast webBrowser ?

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

List<WebBrowser> przegladarka = new List<WebBrowser>();

 

: ) Podstawy C# nazewnictwa zmiennych.

 

[objekt] nazwa_zmiennej = new [objekt]();

Opublikowano

No Dobra ... Ale co wkoncu mam wpisac mam ta zmienna przegladarka ..

531ms4.jpg


Nie Kłóć Się z Głupcem , Bo Najpierw Sprowadzi Cię Do Własnego Poziomu A Potem Pokona Doświadczeniem


Opublikowano

No Dobra ... Ale co wkoncu mam wpisac mam ta zmienna przegladarka ..

Kompletnie nie rozumiem.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...