Ich habe ein transparentes Bild, das auf ein Steuerelement namens Hex
gezeichnet wird. Ich halte es auf Form1
, und habe einen Generator namens Map
.Zeichnen Sie ein Bild, ohne Oberflächen von anderen Steuerelementen neu zu streichen.
Unter Paint(object, PaintEventArgs)
von Hex
zeichne ich das Bild:
e.Graphics.DrawImage(foo.Properties.Resources.h, ClientRectangle);
Aber es hält Oberflächen von anderen Kontrollen neu zu streichen:
Wie kann ich das vermeiden?
Für Code von Hex
und Map
: http://pastebin.com/XsjKc3Yf
den Rest Code Teile, zum Beispiel Konstruktor der Steuerung. Es ist unklar, was Sie jetzt fragen. Welcher Teil des aktuellen Bildes ist ein Repaint anderer Steuerelemente? Ist Ihre Kontrolle dafür verantwortlich, ein einzelnes Sechseck zu zeichnen? –
CreateGraphics ist fast immer ein Fehler. Verwenden Sie das Paint-Ereignis des Containers und verwenden Sie das Grafikobjekt von dort. Dies würde viel besser ohne Kontrolle für jedes Sechseck funktionieren, da sich Ihre Steuerelemente überschneiden. – LarsTech
Nein, ich habe etwas anderes versucht, aber es hat anscheinend nicht funktioniert. Ich hatte eine andere Linie xD – Luka967