Entwickler-Ecke

Basistechnologien - Mehrere Labels erzeugen und wieder entfernen


HoPPeL - Mi 04.05.11 12:14
Titel: Mehrere Labels erzeugen und wieder entfernen
Hallo,

Um eine Temperaturanzeige zu beschriften erzeuge ich labels auf diese Weise:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
for (int i = 0; i < 8; i++)
            {
             
                vtkTextActor LabelActor = new vtkTextActor();
        
                LabelActor.GetTextProperty().SetFontSize(12);
                LabelActor.GetTextProperty().BoldOn();

                LabelActor.SetPosition(ScalarBar.GetWidth() * size[0] + 10, (((1 - ScalarBar.GetHeight()) / 2) * size[1] * 0.96) * (i + 1));
                LabelActor.SetInput(string.Format("{0:F2}" + "°C", Tempmin + temp * i));
                LabelActor.GetTextProperty().SetColor(1.00.00.0);

                Ren1.AddActor2D(LabelActor);
            }


danach habe ich ja dann 8 labels, die alle gleich heißen, aber ich denke mal, dass man das so normalerweise nicht macht?!
vorallem wenn ich die löschen will, bekomm ich irgendwie probleme, da immer nur einer gelöscht wird...

kann mir da jemand weiterhelfen?

mfg


Dr. Hallo - Mi 04.05.11 13:43

du willst irgendwas vertikales beschriften? ich würde es nicht mit lauter labels tun. insbesondere wenn du sehr viele davon hast könnte sich das negativ auf die performance auswirken. stattdessen zeichne deine beschriftung im paint ereignis mit der DrawString funktion.


C#-Quelltext
1:
2:
3:
4:
deineLeinwand_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.DrawString(...);
}