Hallo liebe CBler
Ich bin gerade dabei wider ein paar Dinge in C# zu programmieren.
Ich habe es mir selbst beigebracht und kenne daher viele Funktionen gar nicht erst
und google nach "Zufall" danach - wenn ich das Gefühl habe man könnte es auch anders lösen.
Folgendes ist auch jetzt der Fall: Ich habe ein Klickevent bei einem Buttonklick bzw. einfach die Klasse wenn ich auf einen Button klicke.
Folgender Code:
Der Sinn hahinter ist ein Webbroser, bei dem ich eine Vor und Zurück - Funktion einbauen wollte. Daher legte ich ein Array an und bei jedem Klick auf den Go Button wird die aktuelle Adresse eine Position höher im Array abgelegt.
Wie ihr seht habe ich ich ein paarmal diese Codezeilen Drin:
Es wäre elegant, wenn ich dies "Auslagern" könnte, da ich sie (und auch andere Codezeilen) anderorts auch noch brauche.
Ich kenne dass ich folgendes schreiben kann:
Und dann mit Navigieren(); zu dem Punkt springen kann.
mein Problem ist jedoch dass ich 1. dieses nicht im button_go_Click haben kann (gibt eine Fehlermeldung) und wenn ich es als eigene Klasse unterhalb definiere funktioniert dies zwar, aber sobald das Programm im Code weitergeht und zu "Private Void navigieren() {}" gelangt wird dieser Code auch ausgeführt (ist ja logisch..)
Gibt es eine möglichkeit eine Unterfunktion oder Unterklasse (keine Ahnung wie dies in C# heisst) zu konstruieren, dass ich innerhalb einer Private Void z.b. einen Bereich als Unterfunktion Navigieren () definieren kann und so auch (ev. sogar Global?) aufrufen kann?
Hoffe ihr Versteht was ich versuche zu Fragen :-)
Gruss
Atreju
Ich bin gerade dabei wider ein paar Dinge in C# zu programmieren.
Ich habe es mir selbst beigebracht und kenne daher viele Funktionen gar nicht erst
und google nach "Zufall" danach - wenn ich das Gefühl habe man könnte es auch anders lösen.
Folgendes ist auch jetzt der Fall: Ich habe ein Klickevent bei einem Buttonklick bzw. einfach die Klasse wenn ich auf einen Button klicke.
Folgender Code:
Code:
// Funktion zum Navigieren - wurde hier in einem Click - Event verpackt.
private void button_go_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri(textBox_url.Text));
if (arraycount < 5)
{
if (arraycount == 0)
{
url = textBox_url.Text;
arHistory[arraycount] = url;
MessageBox.Show(arHistory[arraycount], Convert.ToString(arraycount));
MessageBox.Show("Arraycounter ist Null");
arraycount++;
}
else
{
url = textBox_url.Text;
arHistory[arraycount] = url;
MessageBox.Show(arHistory[arraycount], Convert.ToString(arraycount));
arraycount++;
MessageBox.Show("ArrayCount war nicht null sondern: " + Convert.ToString(arraycount));
}
}
else
{
arraycount = 0;
MessageBox.Show("History überfüllt - History wurde gelöscht");
for (int i = 0; i < 5; i++)
arHistory[i] = null;
MessageBox.Show("Aktueller Inhalt der Position 0 von ArHistory: " + arHistory[arraycount]);
url = textBox_url.Text;
arHistory[arraycount] = url;
MessageBox.Show(arHistory[arraycount] + " " + Convert.ToString(arraycount));
}
}
Der Sinn hahinter ist ein Webbroser, bei dem ich eine Vor und Zurück - Funktion einbauen wollte. Daher legte ich ein Array an und bei jedem Klick auf den Go Button wird die aktuelle Adresse eine Position höher im Array abgelegt.
Wie ihr seht habe ich ich ein paarmal diese Codezeilen Drin:
Code:
url = textBox_url.Text;
arHistory[arraycount] = url;
MessageBox.Show(arHistory[arraycount], Convert.ToString(arraycount));
Es wäre elegant, wenn ich dies "Auslagern" könnte, da ich sie (und auch andere Codezeilen) anderorts auch noch brauche.
Ich kenne dass ich folgendes schreiben kann:
Code:
Private Void Navigieren()
{
url = textBox_url.Text;
arHistory[arraycount] = url;
MessageBox.Show(arHistory[arraycount], Convert.ToString(arraycount));
}
Und dann mit Navigieren(); zu dem Punkt springen kann.
mein Problem ist jedoch dass ich 1. dieses nicht im button_go_Click haben kann (gibt eine Fehlermeldung) und wenn ich es als eigene Klasse unterhalb definiere funktioniert dies zwar, aber sobald das Programm im Code weitergeht und zu "Private Void navigieren() {}" gelangt wird dieser Code auch ausgeführt (ist ja logisch..)
Gibt es eine möglichkeit eine Unterfunktion oder Unterklasse (keine Ahnung wie dies in C# heisst) zu konstruieren, dass ich innerhalb einer Private Void z.b. einen Bereich als Unterfunktion Navigieren () definieren kann und so auch (ev. sogar Global?) aufrufen kann?
Hoffe ihr Versteht was ich versuche zu Fragen :-)
Gruss
Atreju