Frage zu GDI+ Speichern + Anklickbarkeit

Kai_Jack

Erfahrenes Mitglied
Hi Leute,

habe zwei Probleme:

1. Ich benutze in meinem Programm ein Tabcontrol. Ich zeichne einige Objekte auf ein Tabcontrol, nennen wir es Tab1. Wenn ich dann zu Tab2 wechsle, wiederum zu Tab1 zurückkehre, ist alles wieder weg. Wie kriege ich das hin, das es nicht verschwindet

2. Kann man auf einer PictureBox erstellte Objekte anklicken Also quasi aktivieren über einen Klick

3. Ok, es sind doch drei ;) Was ist der Unterschied zwischen picturebox und panel, auf beiden kann man die Sachen gleichermassen zeichnen ?!

Gruß und Danke wie immer an alle Masters of the CompuServe
Jack
:)
 
Hallo Kai_Jack!

  1. Ist doch logisch weil des Tab gezeichnet wird, welches angezeigt werden soll.
    Du musst Dir also eine TabPage hernehmen und das darin zeichen.

  2. Du könntest das BorderStyle Property hernehmen und das zu visualisieren.
    Ansonsten könntest was drum herrum zeichen, wie Du halt willst.

  3. Die PictureBox ist, wie der Name schon sagt, für Bilder.
    MSDN hat gesagt.:
    Typically the PictureBox is used to display graphics from a bitmap, metafile, icon, JPEG, GIF or PNG file.
    Das Panel erbt von Scroll Control und ist eher für Controls geeignet.
    MSDN hat gesagt.:
    A Panel is a control that contains other controls. You can use a Panel to group collections of controls such as a group of RadioButton controls.

Btw. Damit der Kopf mal so richtig raucht: :D
Professional C# - Graphics with GDI+

MfG, cosmo
 
Hallo,


Logisch ? Ja und Nein, die Grafik verschwindet auch, wenn man das Window minimiert und dann wieder maximiert, es hat nicht unbedingt mit dem Tab zu tun. Das Problem liegt in einer Art erforderlichen Speicherung, die ich nicht kenne.


Gruß Jack und Danke :)
 
Das ist immer noch logisch. :D
Das Control zeichnet sich wieder selber und weiss nichts davon,
dass es deine Grafik danach auch wieder zeichen soll.
Also
  • entweder das Pain-Event hernehmen um reinzuzeichnen.
    Das wird ausgelöst wenn das Control gezeichnet wird.

  • Oder OnPaint overriden wenn Du von dem Control erbst.
Sag doch mal in Zukunft was Du genau machen willst
und was Du bisher in der hinsicht erreicht hast.
Das ist echt hilfreicher ein kompetente Antwort zu geben.

MfG, cosmo
 
Ok, ich verstehe da was glaube ich nicht.
Folgender Fall:

Ich zeichne mit GDI+ ein Quadrat. Ich minimiere das Fenster, und danach ist es verschwunden. Dieser Effekt muß behandelt werden. Die Zeichnung stammt aus einer Datenbank. Die Zeichnung muß immer da bleiben, egal was passiert, denn sonst kriegt der user einen Schock, und das Programm ist Sch..... !!

D.h. das verschwinden aus irgendeinem View führt zur Zerstörung der Zeichnung, das darf nicht sein.

Gruß Jack
 
Zuletzt bearbeitet:
cosmochaosmaker hat gesagt.:
Das Control zeichnet sich wieder selber und weiss nichts davon,
dass es deine Grafik danach auch wieder zeichen soll.
Also
  • entweder das Pain-Event hernehmen um reinzuzeichnen.
    Das wird ausgelöst wenn das Control gezeichnet wird.

  • Oder OnPaint overriden wenn Du von dem Control erbst.
Such das WE mal im Foum und auf TheCodeProject nach diesen Begriffen. ;)
Ich mach jetzt Feierabend. Montag gehts weiter, ok.

Schönes WE, cosmo
 
Zurück