Autor Beitrag
.NETT
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 15:09 
Hallo
Also, ich möchte, dass bei einem Klick auf einem Button ein weiteres Fenster startet. Also es heißt, sehr einfallsreich, Form2. Wenn ich aber bei dem Button-Click Event Application.Run(new Form2()); eintippe, kommt die Fehlermeldung, dass keine zweite Applikationsschleife aus der ersten heraus gestartet werden kann. Ist ja auch verständlich. Weiterhin wird mir vorgeschlagen, ich soll Form.ShowDialoge einsetzen. Das gibt es aber nicht!! Was soll ich machen?
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.08.08 15:18 
Natürlich gibt es ShowDialog. :roll:

ausblenden C#-Quelltext
1:
2:
Form2 f2 = new Form2();
f2.ShowDialog();


Bitte fange mal an, Dich (a) systematisch mit Grundlagen zu beschäftigen und (b) lerne, mit der Doku zu arbeiten.

Für Grundlagen empfehle ich das Suche bei Google OPENBOOK VISUAL C#.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 15:31 
Erstmal vielen dank.
Die Grundlagen bin ich grad dabei zu lesen, bin nur etwas übereifrig.
Die Doku zu diesem Thema war relativ nutzlos (der faselt irgendwas von Ausnahmen...)
---
Noch ein Thema:
f2.Close() funktioniert leider nicht, es gibt aber auch gar keine Fehlermeldung. Was ist daran falsch?
ausblenden C#-Quelltext
1:
2:
Form2 f2 = new Form2();
            f2.Close();

Liegt es daran, dass man nicht das aktuelle Formular aus sich selber schließen kann?
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.08.08 15:34 
user profile icon.NETT hat folgendes geschrieben:
Die Doku zu diesem Thema war relativ nutzlos (der faselt irgendwas von Ausnahmen...)

Die Doku zur Form-Klasse enthält direkt auf der ersten Seite ein Code-Beispiel, welches Dir einen Hinweis zur Benutzung gegeben hätte. Spätestens die Doku zu Form.ShowDialog enthält fast 1:1 den Code, den ich Dir gegeben habe. Die Doku ist nicht nutzlos, wenn man sie richtig benutzt.

user profile icon.NETT hat folgendes geschrieben:
f2.Close() funktioniert leider nicht, es gibt aber auch gar keine Fehlermeldung. Was ist daran falsch?
ausblenden C#-Quelltext
1:
2:
Form2 f2 = new Form2();
            f2.Close();

Liegt es daran, dass man nicht das aktuelle Formular aus sich selber schließen kann?

Was heißt denn "funktioniert nicht"? Du zeigst die Form nicht an, also kann Close auch nix machen :nixweiss:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 15:40 
Ne also das is so:
Form2 hat zwei Buttons. Wenn man auf einen der Burrons klickt, soll sich das Formular schließen. Also der Code steht praktisch bei button1_click(object sender, EventArgs e)
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.08.08 15:42 
Mit dem Code erzeugst Du eine neue Instanz der Klasse Form2 und legst diese in der Variable f2 ab. Diese Instanz schließt Du, ohne sie je angezeigt zu haben. Auf die Form, in der dieser Code steht, hat das also gar keine Einfluss. Das f2 vor dem Close steht ja nicht zu Zierde da ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 15:52 
Und was muss ich stattdessen machen?
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.08.08 16:02 
user profile icon.NETT hat folgendes geschrieben:
Und was muss ich stattdessen machen?

Überleg doch mal. Du willst die Form schließen, zu der die Methode gehört. Wie rufst Du Methoden des aktuellen Objektes auf?
Das sind jetzt aber schon absolute Grundlagen. Setz Dich da wirklich mal ran, das hat sonst keinen Sinn!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 16:09 
Wenn du Form2.Close() meinst, es klappt nicht!
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 08.08.08 16:14 
Sorry, ich hab genug. Du zeigst keinerlei Bemühungen, Dich mal mit der Materie zu beschäftigen. Mit blindem Ausprobieren wirst Du es nicht lernen, zu programmieren, und ich werde Dir dabei nicht mehr helfen.

Und was Deine letzte Antwort angeht: Das zeigt, dass Du auch Antworten nicht richtig liest, denn zu der Sache, warum das nicht geht, habe ich Dir in einem anderen Thread schonmal eine Erklärung geschrieben.

Letzte Antwort von mir in diesem Thread.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: Fr 08.08.08 17:21 
Es tut mir leid, wenn ich den Eindruck erwäckt habe, dass ich mich nicht bemühe. Aber glaube mir bitte, ich habe schon x-mal was anderes versucht, die Windows-Hilfe von C# streikt auch momentan.
---
Tut mir auch wegen dem eigentlichen Problem leid; ich habe mir deine letzte Antwort 5 mal durchgelesen, konnte mir aber keinen Reim drauf machen (bin in der hinsicht etwas schwer von Begriff). "Wie rufst du Methoden des aktuellen Objektes auf?" hast du geschrieben. Ich dachte nicht, dass du mit aktuell etwas besonderes meinst, und daher - Methoden von Objekten ruft man ja auf, indem man den Objektnamen, einen Punkt, und dann den Methodennamen hintippt.
Auf jeden Fall hab ich jetzt begriffen, was damit gemeint war: THIS!
Vielen Dank! Damit hats auch geklappt.
mfg
.NETT