c# parameter an form übergeben

Gast #6956526
Lesenswert?
• ▲
▼
1
     private void button8_Click(object sender, EventArgs e)
2
        {
3
            Process.Start(@"C:\ra_vc\anz_test\bin\Debug\net6.0-windows\anz_test.exe");
4
    /*        Form2 frm = new Form2();
5

6
            Form frm = new Anz();
7
            // abhängig von Form1
8
            frm.Show(this);
9

10
            Form frm = new Anz.anz();
11
            // abhängig von Form1
12
            frm.Show(this);
13
      */
14
            }

ich möchte werte aus einer Form in einer anderen anzeigen, die sich nach 
10 sec automatisch schließt. Nach längerem probieren habe ich eine neue 
form mit einem Timer angelegt, die über process.exe gestartet wird.

Das funktioniert - scheint mir aber noch nicht die ideale Lösung zu 
sein. Geht es besser?

In der Form sollen Werte angezeigt werden.

In der Hauptform habe ich eine globale Variable erstellt:

1
namespace ra_ide
2
{
3
    public static class Global
4
    {
5
        public static string globalwert = "test";
6
    }

Wie gelingt jetzt der Zugriff auf diese globale Variable in der anderen 
Form.

ra_ide.Global.globalwert funktioniert nicht. wert in Textdatei speichern 
und dann auslesen halte ich für zu umständlich.

Danke für Unterstützung
Gast #6956542
Lesenswert?
• ▲
▼
Form 1
1
using System.Windows.Forms;
2

3
namespace WindowsFormsApp1
4
{
5
    public partial class Form1 : Form
6
    {
7
        public Form1()
8
        {
9
            InitializeComponent();
10
            Form2 form2 = new Form2("Mein Wert");
11
            form2.Show();
12
        }
13
    }
14
}

Form 2
1
using System;
2
using System.Windows.Forms;
3

4
namespace WindowsFormsApp1
5
{
6
    public partial class Form2 : Form
7
    {
8
        public Form2(string meinWert)
9
        {
10
            InitializeComponent();
11
            labWert.Text = meinWert;
12
            Timer tmrClose = new Timer()
13
            {
14
                Interval = 10000,
15
                Enabled = true
16
            };
17
            tmrClose.Tick += TmrClose_Tick;
18
        }
19

20
        private void TmrClose_Tick(object sender, EventArgs e)
21
        {
22
            this.Close();
23
        }
24
    }
25
}
Gast #6957632
Lesenswert?
• ▲
▼
Danke für den Post. Das hilft schon mal weiter.

Wenn ich das so mache, öffnet sich eine "formanz". Das ist dann 
allerdings nicht das Projekt, das ich als Form1 angelegt habe, sondern 
ein leere neue Form. wenn ich jetzt noch wüsste, wo ich diese Form finde 
und wie ich sie bearbeiten kann?
       private void button8_Click(object sender, EventArgs e)
        {
            Form1 formanz = new Form1("Mein Wert");
               formanz.Show();

Kann ich die "formanz" irgendwie dauerhaft in das Projekt einfügen?


Mein Problem ist wohl, dass ich von vs2010 auf vs2021 umgestiegen bin 
und von dem Umfang noch etwas erschlagen bin.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.