DataGridView: Rechtsklick soll Zeile markieren UND Contextmenü öffnen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Alex.

    DataGridView: Rechtsklick soll Zeile markieren UND Contextmenü öffnen

    Hallo,
    ich habe ein DataGridView im Einsatz. Das funktioniert auch soweit ganz gut, mich stört aber eins:
    Um eine Zeile zu markieren, muss ich erst mit der linken Maustaste die Zeile markieren, erst dann kann ich das Kontextmenü mit der rechten Maustaste öffnen.

    Geht das irgendwie so, dass ich beides mit einem Rechtsklick mache? Dass also die Zeile markiert wird, und sich für diese Zeile dann das Kontextmenü öffnet.
    Hmm... verstehe ich noch nicht ganz. Sorry bin noch ein Anfänger. Also ich habe im Moment ein Contextmenü erstellt. Dazu dann folgenden Code:

    Quellcode

    1. Private Sub MitspielenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitspielenToolStripMenuItem.Click
    2. System.Diagnostics.Process.Start("http://intranet/fightdetails.php?fightid=" & fightsgrid.CurrentRow.Cells("ID").Value & "&uniqueid=" & My.Settings.unique_id)
    3. End Sub


    Was genau muss ich mit dem DGV.Hittest machen?

    Danke :)
    das MouseDown-Event? such danach im ObjectBrowser.

    Events abonnieren ist kinderleicht, entweder im Editor mit den beiden Comboboxen über dem Editor-Bereich.
    Oder im Form-Designer mit dem PropertyGrid, nachdem man die Anzeige auf Events umgestellt hat (ist ein kl. Button mit einem Blitz drauf).
    guckma - da findet man sogar auf utube was, also das mit den beiden Combos überm Editor - 00:25 - 00:30 (obwohl da sonst nur Schrott ist): youtube.com/watch?v=GDi4bTe1UhI

    Aber ich denke, du solltest dieses Buch lesen (hingegen das Galileio-Openbook ist Mist), denn ohne zu wissen, was ein Event ist, und wo man die findet, was Event abonnieren bedeutet, und in diesem Fall ists ja genaugenommen das Event der Basisklasse von DatagridView ...

    Also ohne diesen Kram zu verstehen wirst du kaum vernünftig proggen können, sondern bestenfalls iwelche Codeschnippel, die die Leuts dir spendieren, zusammenkopieren können.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Selectiere dein DataGridView. Recht im Eigenschaften Fenster, oben, ist ein Gelber Blitz. Den wählst du aus.
    Dann siehst du die Event. Dort Doppelklickst du "CellMouseClick".
    Dann erstellt dir die IDE eine Methode.
    Dort in der Methode schreibst du Folgenden Code

    VB.NET-Quellcode

    1. Private Sub DGV_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DGV.CellMouseClick
    2. If CBool(e.Clicks) Then
    3. If e.Button = MouseButtons.Right Then
    4. MessageBox.Show("Hier musst du dein ContrextMenu aufrugen.")
    5. End If
    6. End If
    7. End Sub