myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » Rechte Maustaste auf DataGridView soll RowEnter werden
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Rechte Maustaste auf DataGridView soll RowEnter werden

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
SeCuRiiTaS
myCSharp.de-Mitglied

Dabei seit: 12.03.2012
Beiträge: 108


SeCuRiiTaS ist offline

Rechte Maustaste auf DataGridView soll RowEnter werden

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,
habe eine datagridview und mir dazu ein contextMenu gebastelt.

Nun ändere ich einen Text in dem contextMenu je nachdem, was ich in meiner dataGridView angeklickt habe.

Über RowEnter setze ich diese Eigenschaft

C#-Code:
anrufenToolStripMenuItem.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString() + " anrufen";

Nun habe ich für die rechte Maustaste den EventHandler "MouseUp" genutzt, klappt auch einwandfrei nur das er eben den Text im Menü nicht geändert hat, da er den Focus nicht auf die neue Reihe gesetzt hat sondern bei der alten Reihe bleibt.

MouseUp:

C#-Code:
DataGridView.HitTestInfo hitTestInfo;
            if (e.Button == MouseButtons.Right)
            {
                hitTestInfo = dataGridView1.HitTest(e.X, e.Y);
                if (hitTestInfo.Type == DataGridViewHitTestType.Cell)
                {
                    myContextMenuStrip.Show(dataGridView1, e.Location);
                }

            }

Wie kann ich nun umsetzen, das wenn ich die rechte Maustaste auf eine Reihe bzw. Item klicke, die Reihe ebenfalls markiert wird, genauso wie mit der linken Maustaste?

Dann würd mein RowEnter Event anspringen und den Wert anpassen.

Vielen Dank
Neuer Beitrag 15.05.2012 11:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 1.795
Entwicklungsumgebung: Visual Studio 2005/08/10


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Probiere mal (vor dem Show)

C#-Code:
dataGridView.CurrentCell = dataGridView.Rows[hitTestInfo.RowIndex].Cells[hitTestInfo.ColumnIndex];
Neuer Beitrag 15.05.2012 12:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SeCuRiiTaS
myCSharp.de-Mitglied

Dabei seit: 12.03.2012
Beiträge: 108

Themenstarter Thema begonnen von SeCuRiiTaS

SeCuRiiTaS ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Klappt wunderbärchen. Vielen Dank.
Neuer Beitrag 15.05.2012 12:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
TheGear TheGear ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.06.2007
Beiträge: 334
Entwicklungsumgebung: VS2010 VS2012
Herkunft: Hennef


TheGear ist offline Füge TheGear Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo SeCuRiiTaS,

ansonsten vielleicht:

C#-Code:
dataGridView1.Rows[e.RowIndex].Selected = true;
Neuer Beitrag 15.05.2012 12:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SeCuRiiTaS
myCSharp.de-Mitglied

Dabei seit: 12.03.2012
Beiträge: 108

Themenstarter Thema begonnen von SeCuRiiTaS

SeCuRiiTaS ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@TheGear: Nein das funktioniert nicht, da mein MousUp e ein MouseEventArgs ist und kein RowIndex hat. Alles schon ausprobiert^^

Die Lösung von Th69 klappt wunderbar.
Neuer Beitrag 15.05.2012 12:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
TheGear TheGear ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.06.2007
Beiträge: 334
Entwicklungsumgebung: VS2010 VS2012
Herkunft: Hennef


TheGear ist offline Füge TheGear Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo SeCuRiiTaS,

ob du jetzt von hitTestInfo Objekt den RowIndex holst oder von den EventArgs macht da keinen Unterschied :)

André
Neuer Beitrag 15.05.2012 12:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
SeCuRiiTaS
myCSharp.de-Mitglied

Dabei seit: 12.03.2012
Beiträge: 108

Themenstarter Thema begonnen von SeCuRiiTaS

SeCuRiiTaS ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Da wiederum hast du Recht und daran hab ich garnicht gedacht :) Danke.
Neuer Beitrag 15.05.2012 13:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 19.05.2013 21:53