C#: Datagriedview und Form2

Gast #5968223
Hallo,

Ich lerne seit einiger Zeit in der Volkshochschule C#.
ich würde gern ein kleines Programm mit einem Datagriedview erstellen, 
klickt man auf den Inhalt einer Zelle soll sich "Form2" öffnen und den 
Inhalt in der Zelle abbilden. Klickt man dann noch einmal auf eine Zelle 
soll sich keine neue "Form2" öffnen sondern die geöffnete soll den neu 
angeklickten Inhalt abbilden.

Hier ist mein Code:
1
Form1:
2

3
namespace dataGridView_FormCLICK
4
{
5
    public partial class Form1 : Form
6
    {
7

8
        bool freigabe = true;
9

10

11
        public Form1()
12
        {
13
            InitializeComponent();
14
        }
15

16
        private void button1_Click(object sender, EventArgs e)
17
        {
18
            this.dataGridView1.Rows.Add(textBox1.Text, textBox2.Text);
19
        }
20

21
        private void button2_Click(object sender, EventArgs e)
22
        {
23
            //Form2 öffnen
24
        }
25

26
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
27
        {
28

29
            Form2 frm = new Form2();
30
            frm.textBox1.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
31
            frm.textBox2.Text = this.dataGridView1.CurrentRow.Cells[1].Value.ToString();
32

33
            if (freigabe == true)
34
            {
35
                frm.Show();
36
                freigabe = false;
37
            }
38

39
            
40
            frm.Refresh();
41
        }
42
    }
43
}


und für Form2:
1
namespace dataGridView_FormCLICK
2
{
3
    public partial class Form2 : Form
4
    {
5
        public Form2()
6
        {
7
            InitializeComponent();
8
        }
9
    }
10
}


Vielen Dank für jeglich Hilfe!
Angehängte Dateien:
Gast
Programm schrieb:

> Ich lerne seit einiger Zeit in der Volkshochschule C#.

Tja, auch die gehobene VHS-Bildung kann eigenes logisches Denken leider 
nicht ersetzen...

> ich würde gern ein kleines Programm mit einem Datagriedview erstellen,
> klickt man auf den Inhalt einer Zelle soll sich "Form2" öffnen und den
> Inhalt in der Zelle abbilden. Klickt man dann noch einmal auf eine Zelle
> soll sich keine neue "Form2" öffnen sondern die geöffnete soll den neu
> angeklickten Inhalt abbilden.

Tja, Kinderkram. Du musst einfach nur darüber nachdenken, worin der 
Unterschied dieser zwei Situationen besteht. Wenn du nicht völlig 
behämmert bist, kommst du sehr schnell darauf, dass der Unterschied wohl 
darin bestehen muss, ob im Moment des Anklickens der Zelle schon eine 
Instanz von Form2 existiert oder halt nicht.

Du musst das halt prüfen und in der weiteren Behandlung entsprechend 
verzweigen. D.h.: wenn noch keine Instanz existiert, dann halt eine 
erzeugen, ansonsten die existierende verwenden. Weiter geht's dann für 
beide Fälle identisch. Daten aus dem Grid in die entsprechenden Controls 
der Form2-Instanz einfüllen.
Gast
Muß es denn wirklich C# sein? Ich wäre froh wenn ich mich nicht damit 
rum schlagen müßte. Andererseits man wird natürlich nicht dümmer davon, 
wenn man's lernt.

Allerdings würde ich nicht mehr mit Windowsforms anfangen. Der Trend 
geht eher zu WPF. Bei uns wir eigentlich alles mit WPF gemacht.

Ansonsten hat c-heater alles gesagt, wie es zu machen ist. In WPF wäre 
es nicht anders.
Gast
ok dank dir, habs geschafft!

>dass der Unterschied wohl
>darin bestehen muss, ob im Moment des Anklickens der Zelle schon eine
>Instanz von Form2 existiert oder halt nicht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.