Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Seltsames Verhalten eines Bitmaps bei panel.AutoScrollMinSize
phlasher
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

Seltsames Verhalten eines Bitmaps bei panel.AutoScrollMinSize

beantworten | zitieren | melden

Hallöchen...

in der Paint-Methode eines Panels mache ich folgendes: (_offscreen ist eine private Klassenvariable vom Typ Bitmap)


if (_offscreen == null)
{
    _offscreen = new Bitmap((int)Math.Round(pnlInfoContentPaintElement.Width * _ZOOM), (int)Math.Round(pnlInfoContentPaintElement.Height * _ZOOM));
    Graphics g = Graphics.FromImage(_offscreen);
    pnlInfoContentPaintElement.AutoScrollMinSize = new Size((int)Math.Round(SmashedBoundary.Width * _CurrentElementScale.Factor * _ZOOM), (int)Math.Round(SmashedBoundary.Height * _CurrentElementScale.Factor * _ZOOM));

...
...
}

Die Werte in der Zuweisung zu AutoScrollMinSize sind korrekt und es kommt eine sinnvolle Size dabei raus...
jedoch ist _offscreen direkt nach dieser Zuweisung wieder null!
Und zwar egal wann und wo ich diese Zuweisung mache... immer genau danach wird _offscreen wieder null... 8o
Und zwar immer genau dann, wenn AutoScrollMinSize tatsächlich größer ist, als das Panel, also wenn eig. Scrollbars angezeigt werden müssten...

finde ich sehr seltsam

jemand ne Idee??
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo phlasher,

der einzige Weg, dass eine Variable null wird, ist sie (direkt oder indirekt) null zusetzen. Von alleine passiert das nicht.

herbivore
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 7290
Herkunft: Esslingen

beantworten | zitieren | melden

Welchen Wert hat _ZOOM bei dir?
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
phlasher
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

Zitat
Original von herbivore
der einzige Weg, dass eine Variable null wird, ist sie (direkt oder indirekt) null zusetzen. Von alleine passiert das nicht.

ja gell, sollte so sein

@ talla: _ZOOM hat einen Wert größer 1.0... dieser Wert ist ja dafür verantwortlich, dass die AutoScrollMinSize größer wird, als das Panel.. wenn also _ZOOM > 1.0 (und nicht = 1.0) ist, tritt dieses Verhalten auf.

Sorry, dass ich den Thread so lange habe liegen lassen, war ein paar Tage unterwegs...

Gruß, phlasher
private Nachricht | Beiträge des Benutzers
phlasher
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

ok.
Das Setzen von AutoScrollMinSize feuert das SizeChanged-Event vom Panel, in dem ich die entsprechenden Null-Setzungen vornehme...
Seufz... hätt ich ja auch mal schneller drauf kommen können!!!! GRRRR!

Danke trotzdem für die Hilfe!

<--> kann geclosed werden!

Gruß, phlasher
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo phlasher,

wir lassen alle Threads offen, außer die Diskussion läuft aus dem Ruder o.ä. Wenn dir daran liegt, das Problem als [gelöst] zu kennzeichnen, kannst du den Forentitel entsprechend ändern.

herbivore
private Nachricht | Beiträge des Benutzers