[C#] Voorkomen dat je de controls getekend ziet worden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 13-09 21:30
Wat ik lelijk vind aan de .NET programma's, althans bij mij, is dat je bij het openen van een form, of het switchen van een tabblad de controls getekend ziet worden. Dat staat zo onprofessioneel, omdat je dat bij nomale Windows applicaties dat ook niet ziet.

Nu heb ik zitten spelen met een panel die Visible=false is, en bij de Load event, of Shown event dit panel Visible=true maak. Dit mag echter niet baten, je ziet de controls nog steeds getekend worden.

Wat ik wil, is dat hij dus echt onzichtbaar de controls al tekent, en dan bij een commando - floep - netjes het scherm inéénkeer getekend en al toont.

Heeft iemand hier ook al mee zitten spelen en werkend gekregen?

Acties:
  • 0 Henk 'm!

  • cixx
  • Registratie: Augustus 2005
  • Laatst online: 28-09-2024
Probeer eens de double buffering property van je form op true te zetten.

[ Voor 17% gewijzigd door cixx op 11-02-2009 19:45 ]


Acties:
  • 0 Henk 'm!

  • Stukfruit
  • Registratie: Oktober 2007
  • Niet online
Is er in de .NET API's niet iets te vinden als WM_SETREDRAW? Dan kan je tijdelijk het hertekenen van controls uitschakelen en weer aanzetten wanneer je klaar bent met de updates op je form, precies zoals je wil.

[ Voor 4% gewijzigd door Stukfruit op 11-02-2009 21:24 ]

Dat zit wel Schnorr.


Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 20:52
Ik heb daar zelf nooit zo'n last van... Maar Double Buffering is wel je oplosing...
Anders zou je natuurlijk ook met een beetje knutselwerk alles zelf kunnen tekenen in 1 keer ;)

Even niets...


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Stukfruit schreef op woensdag 11 februari 2009 @ 21:22:
Is er in de .NET API's niet iets te vinden als WM_SETREDRAW? Dan kan je tijdelijk het hertekenen van controls uitschakelen en weer aanzetten wanneer je klaar bent met de updates op je form, precies zoals je wil.
Dat kun je in .NET bereiken door Control.SuspendLayout en Control.ResumeLayout

Voor de rest heb ik er eigenlijk ook nooit echt last van. Doe je soms erg rekenintensieve dingen op de GUI Thread?

[ Voor 10% gewijzigd door Woy op 11-02-2009 21:26 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 18:21

Sebazzz

3dp

Woy schreef op woensdag 11 februari 2009 @ 21:26:
Voor de rest heb ik er eigenlijk ook nooit echt last van. Doe je soms erg rekenintensieve dingen op de GUI Thread?
En dus ook: Gebruik je (veel) custom controls, die ook weer veel code hebben?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 13-09 21:30
Er staan een aantal Infragistics UltraGrids op, maar de entitycollections die daaraan gebound zijn, worden van tevoren al gevuld. Maar resultsets in de collections zijn heel klein, gezien de database nauwelijks gevuld is (wat testdata).
Wat ik dus eigenlijk gewoon zoek, is een of andere status dat de controls allemaal invisible zijn, maar wel getekend worden, en allemaal in 1x verschijnen bij een of ander final event.
DoubleBufering had ik al aan staan, maar ik zal suspendlayout en resumelayout op de controls eens proberen.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mastermind schreef op woensdag 11 februari 2009 @ 22:20:
Er staan een aantal Infragistics UltraGrids op
:D Daar noem je dan ook wel even een heftige control. Da's nogal iets anders dan een bak buttons. En als ik je meervoudsvorm goed lees verbaast het me niets. 1 Ultragrid is, afhankelijk van hoe zwaar je 't gebruikt natuurlijk, nogal heftig; laat staan meerdere.

Het zijn fijne controls, die dingen van Infragistics, en ze ogen heel mooi en ze doen wat ze moeten doen. Maar lightweight en snel kun je ze zelden noemen :P

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


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Ik weet wel dat die GridViews fucking traag zijn. Maar zelfs in SSMS (toch een product van MSFT zelf) zie je ze nog getekend worden.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 13-09 21:30
@RobIII
Ja, daarom wou ik ook graag een soort van "tekentijd" geven dat de controls niet zichtbaar zijn, en pas zichtbaar worden als ze ook getekend zijn.

Ik heb trouwens alle colors die op "Transparent" stonden een vaste kleur gegeven, en dat scheelt ook al in de tekensnelheid.

Maar ik ga hier verder geen tijd meer aan besteden, het zij zo :)

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
De gridviews van infragistics zijn echt wel redelijk kwa snelheid. Gebruik ze zelf ook en heb nooit problemen met traag tekenen gehad. Je moet alleen zorgen dat je goed met je appearance objecten en dergelijke omgaat. Check de fora's van infragistics voor informatie over best practises van hoe en wanneer je de layout van je ultragrid moet zetten.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
D-Raven schreef op zondag 15 februari 2009 @ 01:32:
De gridviews van infragistics zijn echt wel redelijk kwa snelheid. Gebruik ze zelf ook en heb nooit problemen met traag tekenen gehad. Je moet alleen zorgen dat je goed met je appearance objecten en dergelijke omgaat. Check de fora's van infragistics voor informatie over best practises van hoe en wanneer je de layout van je ultragrid moet zetten.
Ze kunnen best aardig performen; dat is het hele punt niet. Maar ze zullen, al tweak je tot je een ons weegt, altijd slechter performen dan een formpje met een paar buttons, dropdowns en radioboxes ofzo. Daar ging het om.

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

Pagina: 1