Autor Beitrag
grinchi
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 17.03.10 11:12 
Hallo ich habe ein Problem und zwar starte ich von der master class (also main)

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
private static Speicher speicher = new Speicher();

public static void Main(string[] args)
{
    speicher.get_string();
    speicher.set_string();
    Application.Run();
}


Seicher sieht so aus:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
    class Speicher
    {
        Eingabe eingabe = new Eingabe();
        Ausgabe ausgabe = new Ausgabe();
        string global_string;

        public void set_string(string wert)
        {
            eingabe.Show();
            global_string = eingabe.g_string;
        }
        public string get_string()
        {
            ausgabe.Show();
            return this.global_string;
        }
    }


und Eingabe und Ausgabe sind Windows Forms wo es je eine Textbox gibt wo ich den wert eingebe in den Speicher schreibe und der sich vom Speicher wieder holen soll um es in die andere TExtbox zu schreiben.Außerdem gibt es in Eingabe noch einen Button mit dem ich das ganze der den Spaß auslösen soll.

An sich recht simpel aber der rennt da durch ohne bei den Forms anzuhalten. Er öffnet sie aber überspringt einfach meinen Button anstatt auf ihn zu warten wie es sich gehört.

mfg grinchi
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 17.03.10 11:44 
Hallo und :welcome:

Er zeigt doch das Formular an (ggf. im Hintergrund), oder nicht? Also macht er das, was er soll. Du gibst dem Programm nichts vor, damit er anhält.

Schau einmal in der SDK-Doku/MSDN/Hilfe unter Form-Klasse / Methoden nach, was es statt Show noch gibt.

Gruß Jürgen
grinchi Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 17.03.10 12:15 
ja das Form zeigt er an aber in eine alternative zu Show hab ich nich gefunden
mir fällt aber auch nix ein um ihn anzuhalten, hab ne idee gehabt indem ich ne bool weitermachen gesetzt hab die mir der button übergibt aber die war auch eher was für den Mülleimer
traceurmicha
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 160
Erhaltene Danke: 9

Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
BeitragVerfasst: Mi 17.03.10 12:28 
verstehe ich das jetzt richtig? du willst erst speicher.get_string();
aufrufen, dann warten bis der button gedrückt wurde und erst dann speicher.set_string(); ausführen?
grinchi Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 17.03.10 12:33 
ja so war der Plan

aber ich habs gerade gelöst ich hab von der funktion in der eingabe nen bool zurückgeben lassen der sagt ob er weiter soll oder nich also in code ausgedrückt:

Das steht in der Eingabe form:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
        public bool set_string()
        {
           g_string = tb_Eingabe.Text; 
            return true;        
        }


und das in der Speicher.cs

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
public void f_eingabe()
        {
            bool weiter = false;
            eingabe.ShowDialog();
            
            weiter = eingabe.set_string();
            set_string(eingabe.g_string);

            if (weiter == true)
            {
                eingabe.Close();
                f_ausgabe();
            }
        }


für elegantere lösungsansätze hab ich aber immer nen Ohr offen
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 17.03.10 12:34 
user profile icongrinchi hat folgendes geschrieben Zum zitierten Posting springen:
ja das Form zeigt er an aber in eine alternative zu Show hab ich nich gefunden

Komisch, wenn ich im Hilfe-Index Form.Show eingebe, bietet er mir eine Zeile tiefer noch etwas an. Wenn ich unter "Form - Alle Member" im Abschnitt "Methoden" zu Show gehe, steht ebenfalls eine Zeile eine weitere Methode mit dieser Beschreibung:
Zitat:
Überladen. Zeigt das Formular als modales Dialogfeld an.

Ich kann mir nicht vorstellen, dass meine Doku soviel mehr bietet als deine.

Inzwischen hast du es ja gefunden, also ist das erledigt.

Abgesehen davon kommt mir deine Programmstruktur ebenfalls etwas seltsam vor. Aber da es sich nur um Ausschnitte handelt, mache ich dazu keine Anmerkungen.

Bitte erläutere doch einmal, was du beim Programmstart alles erledigen willst und ggf. warum.

Gruß Jürgen
traceurmicha
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 160
Erhaltene Danke: 9

Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
BeitragVerfasst: Mi 17.03.10 12:42 
hmmm,

Warum hast du nicht einfach den button definiert? mit zum Beispiel:
ausblenden C#-Quelltext
1:
2:
3:
4:
private void button_Click(object sender, EventArgs e)
        {
            speicher.set_string();
        }
grinchi Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 17.03.10 12:45 
Zitat:
Komisch, wenn ich im Hilfe-Index Form.Show eingebe, bietet er mir eine Zeile tiefer noch etwas an. Wenn ich unter "Form - Alle Member" im Abschnitt "Methoden" zu Show gehe, steht ebenfalls eine Zeile eine weitere Methode mit dieser Beschreibung:


hmm also entweder bin ich blind oder hier herrscht methodenklau

aber hauptsache es funtioniert

thx an alle

grinchi