[c#] verliezen van waarde veld

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • crazyheinz
  • Registratie: Juni 2006
  • Laatst online: 22-01 16:22
Kheb een vervelend probleem met een waarde die ik telkens verlies.
In mijn windowsform heb ik een veld private int geselecteerdeRij;
Deze moet er voor zorgen dat ik de waarde van een geselecteerde rij van een datagridview kan opslaan.
Deze waarde vraag ik dan op met
code:
1
geselecteerdeRij = dataGridViewOverzicht.CurrentRow.Index;

Die waarde wordt opgeslaan, dat heb ik gecheckt met een breakpoint. Als ik later die waarde wil gebruiken in een andere methode is die echter 0 ipv de waarde die er oorspronkelijk in zat.

Achter dat ik de geslecteerde rij heb opgevraagd roep ik een andere form op in dezelfde methode, miss dat het daar aan kan liggen, kheb me der al op sufgezocht, vind het echt niet... :|

Acties:
  • 0 Henk 'm!

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 18-09 10:39
Wanneer sla je die waarde op? Gebeurt dit vanuit een event? Wordt dit event niet nog een keer getriggerd voordat jij die andere functie uitvoert?

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:16
Tja, die integer behoort tot een instantie van jouw form, en je kan dus niet gaan verwachten dat een andere instantie (een ander object dus) zomaar weet wat de waarde van die integer is in een andere instantie. (Tenzij je met een static gaat werken; een static member heeft in iedere instantie dezelfde waarde, om het simpel te zeggen, maar da's niet zo netjes imho).
(Ofwel begrijp ik je verkeerd).

Hoedanook, wat is de scope van die integer ? Waar declareer je die ? In een method ? of is het een member van de class ?

[ Voor 17% gewijzigd door whoami op 18-12-2007 16:06 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • crazyheinz
  • Registratie: Juni 2006
  • Laatst online: 22-01 16:22
riezebosch schreef op dinsdag 18 december 2007 @ 15:52:
Wanneer sla je die waarde op? Gebeurt dit vanuit een event? Wordt dit event niet nog een keer getriggerd voordat jij die andere functie uitvoert?
Het gebeurt inderdaad na een event, het drukken van een bepaald knop.
Deze wordt niet opnieuw ingedrukt, gaat al helemaal niet aangezien het programma crasht :p

@whoami: de andere form moet niet aan de waarde komen, het enigste waarvoor dat ik die andere form oproep is een .Show()...

Acties:
  • 0 Henk 'm!

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 13-09 21:30
Je moet even met CTRL-F kijken waar geselecteerdeRij allemaal voorkomt. Dan zal je vanzelf tegekomen waar hij weer op 0 gezet wordt.

Acties:
  • 0 Henk 'm!

Verwijderd

Zet ook eens een breakpoint rond het punt waar je je variabele weer wilt gebruiken, of doorloop stap voor stap de regels code tussen zetten en uitlezen van je getal.

Verder moet je een integer natuurlijk niet binnen een methode gaan declareren (int getal;) als je die in een andere methode ook nodig hebt, al weet ik niet of je dit doet.
Pagina: 1