[C#] Waarde control wijzigen vanuit externe class

Pagina: 1
Acties:
  • 360 views sinds 30-01-2008
  • Reageer

  • Keess
  • Registratie: Augustus 2006
  • Laatst online: 27-11 08:21
Hallo,

Ik heb 2 bestanden, Form frmMain & Class mainFunctions.cs, nu wil ik vanuit mainFunction een waarde van een control (Combo, UpDown etc.) in frmMain wijzigen, krijg bij mijn uitvoering verder geen errors maar de waarde veranderd niet.

Ik heb de Modifier van het control op Public gezet.

C#:
1
2
3
4
5
       public void lala()
        {
            frmMain frm = new frmMain();
            frm.intH1.Value = 123;
        }


Iemand enig idee wat dit probleem kan zijn?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Tja .... wat denk je zelf ? Je maakt een nieuwe instantie van frmMain aan, en je veranderd daar de waarde van die control.
Dat is dus niet de control die op het reeds bestaande frmMain form staat ......

Waarom maak je geen functie die een bepaalde control als parameter / argument neemt, en die je dan wijzigt ?

code:
1
2
3
4
public void Blaa( SomeControl c )
{
   c.SomeProperty = bliep;
}

https://fgheysels.github.io/


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 23-11 18:22
Je maakt een nieuw frm aan, en daar verander je de waarde van.

Doe voor de grap is frm.show() (of hie die functie ook heet), en je zult zien dat je gewoon een nieuw venster heb aangemaakt.

Hoe het wel moet, geen idee :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je maakt een nieuw form waarvan je een control property set i.p.v. het bestaande control op de bestaande frmMain. Ik zou als ik jou was gewoon de control als parameter aan lala meegeven.

edit:

^^ Wat die voorkruipers dus zeggen :Y)

[ Voor 22% gewijzigd door RobIII op 11-04-2007 13:56 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • wboevink
  • Registratie: September 2004
  • Laatst online: 05-11 00:06
Probeer eens de debug functies (neem aan dat je visual studio gebruikt).

tja.... dan kan je evengoed niets zeggen eigenlijk ..

[ Voor 50% gewijzigd door whoami op 11-04-2007 14:02 ]


  • Keess
  • Registratie: Augustus 2006
  • Laatst online: 27-11 08:21
Je maakt een nieuwe instantie van frmMain aan...
Dat dacht ik al :|, had alleen idd. de .Show() even moeten proberen om het zeker te weten...

Had dit probleem al eerder, dat ging maar om 2 controls, toen heb ik ook 2 extra functies aangemaakt, die ik dan aanroep en die veranderen dan de waarde vanuit frmMain..

Denk dat ik dat dan ook maar met deze 25~30 controls moet doen :?

(of wat mss. makkelijker is de string met de waardes die ingevuld moeten worden door te sturen naar een functie in frmMain)

-----

Bestaat er niet iets zoals: With Form1 zoals in VB(.NET)?

[ Voor 6% gewijzigd door Keess op 11-04-2007 15:38 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Makkelijker lijkt me dan om gewoon het form zélf als parameter mee te geven aan "lala", dan kun je alle controls via het gepasste form object benaderen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Keess
  • Registratie: Augustus 2006
  • Laatst online: 27-11 08:21
Makkelijker lijkt me dan om gewoon het form zélf als parameter mee te geven aan "lala", dan kun je alle controls via het gepasste form object benaderen.
frmMain dus meegeven aan de parameters van "lala".. hoe doe ik dat precies?

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 20-11 21:40

Not Pingu

Dumbass ex machina

code:
1
public void lala(frmMain sender)


:?

[ Voor 7% gewijzigd door Not Pingu op 11-04-2007 15:54 ]

Certified smart block developer op de agile darkchain stack. PM voor info.


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Keess schreef op woensdag 11 april 2007 @ 15:48:
[...]


frmMain dus meegeven aan de parameters van "lala".. hoe doe ik dat precies?
Dit is wel basic hoor; misschien is het handig om even een boek / tutorial door te nemen die de basics van C# / .NET / programmeren behandeld ?

https://fgheysels.github.io/


  • Keess
  • Registratie: Augustus 2006
  • Laatst online: 27-11 08:21
Geen slecht idee ;)

Hier kom ik wel verder mee, bedankt.
Pagina: 1