Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Form sendet String vor click auf OK
AVieFotografy
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Würzburg

Themenstarter:

Form sendet String vor click auf OK

beantworten | zitieren | melden

Hi an alle,

ich habe eine Hauptform sowie eine Nebenform aus der Nebenform soll ein String an die Hauptform gesendet werden, da es in C# ja keine Input Boxen gibt, allerdings sendet die Form den Wert schon vor Drücken des Ok Button, ich kann leider nicht herausfinden wieso das so ist.

hier ist der Code:

Hauptform

 private void btnLoad_Click(object sender, EventArgs e)
        {
            string sReceiveLink;
            try
            {
                CleanUp();

                frmInputBox frmInputBox = new frmInputBox();
                frmInputBox.Show();
                sReceiveLink = frmInputBox.sLinkToSend;
                lblLinkLeft.Text = sReceiveLink;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Properties.Resources.sErrorMainHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

Nebenform

public partial class frmInputBox : Form
    {
        public frmInputBox()
        {
            InitializeComponent();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            try
            {
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Properties.Resources.sErrorMainHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public string sLinkToSend;

        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                this.sLinkToSend = txtLink.Text; 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Properties.Resources.sErrorMainHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Hat jemand eine Idee wieso dies so ist?

Danke
Andi
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16148

beantworten | zitieren | melden

Ich seh hier nicht mal irgendeine Aktion, die den String an die Hauptform senden würde.
Aber eigentlich ist das relativ leicht raus zu finden, wenn man einfach mit dem Debugger durchsteppt und entsprechende Breakpoints setzt.
[Artikel] Debugger: Wie verwende ich den von Visual Studio?
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 251
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

Siehe:

[FAQ] Kommunikation von 2 Forms

btw: Control.Show vs. Form.ShowDialog
private Nachricht | Beiträge des Benutzers
ismirschlecht
myCSharp.de - Member



Dabei seit:
Beiträge: 47

beantworten | zitieren | melden

Es gibt keine Inputbox ? Echt nicht ?
Aber man könnte sich eine selbst zimmern, auch für spätere projekte.
1. ein kleines Fenster mit einer Titelzeile, einem Textfeld, einem OK- und Escape-Button
2. das Fenster erhält zwei Felder: boolean _ok und string _eingabe
_ok wird gesetzt wenn OK gerückt wurde
_eingabe enthält den Text (bei OK)
3. OK und Escape schließen das Minifenster
4 statische Funktion String Inputbox(...), die ein solches Minifenster instantiiert und das Ergebnis rausreicht

Sollte als Roadmap reichen

Ich hab mir sowas gebastelt und: seeehr nützlich
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10083

beantworten | zitieren | melden

Richtig lesen.
Genau das ist doch was er hier probiert aber nicht versteht was .Show() macht.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4184

beantworten | zitieren | melden

Es gibt sogar einen Artikel hier für [Tutorial] InputBox selbermachen - Grundgerüst
private Nachricht | Beiträge des Benutzers