mikrocontroller.net

Forum: PC-Programmierung C#: Datagriedview und Form2


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Programm (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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:
Form1:

namespace dataGridView_FormCLICK
{
    public partial class Form1 : Form
    {

        bool freigabe = true;


        public Form1()
        {
            InitializeComponent();
        }

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

        private void button2_Click(object sender, EventArgs e)
        {
            //Form2 öffnen
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

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

            if (freigabe == true)
            {
                frm.Show();
                freigabe = false;
            }

            
            frm.Refresh();
        }
    }
}


und für Form2:
namespace dataGridView_FormCLICK
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
    }
}


Vielen Dank für jeglich Hilfe!

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programm schrieb:
> Ich lerne seit einiger Zeit in der Volkshochschule C#.

Alter...

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Drahtverhau (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke hier bist du besser aufgehoben: vb-paradise.de. Auch wenn es 
dort um vb geht... C# ist das gleiche

Autor: abcabc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mycsharp.de ist die Anlaufstelle für sowas. Die haben extra einen 
Anfänger Bereich.

Autor: leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programm schrieb:
> Programm mit einem Datagriedview erstellen,

Ich lese zuerst grieve.

Beginne mal mit genauerer Arbeit, z.B. wie die Dinge wirklich heissen.

leo

Autor: Horst (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
abcabc schrieb:
> Die haben extra einen
> Anfänger Bereich.

Gibts bei C# auch andere Bereiche?

Autor: Zeno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Programm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.