Autor |
Beitrag |
HoPPeL
      
Beiträge: 51
|
Verfasst: Do 06.10.11 18:24
Hi,
habe folgende Schleife:
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.0, 0.0, 0.0);
Ren1.AddActor2D(LabelActor); } |
aber denke, dass das Ganze ziemlich unsauber ist...
Das Problem ist, dass ich momentan nicht weiß, wie ich die erzeugten labels dann wieder loswerde?
Oder gibts ne bessere, sauberere Variante, bei der es gar nicht zu solchen problemen kommt?
mfg
|
|
Th69
      

Beiträge: 4799
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Do 06.10.11 19:58
Hallo HoPPeL,
vllt. solltest du ersteinmal schreiben, mit welcher Library du arbeitest (denn 'vtkTextActor' ist zumindestens keines der Standard WinForms-Komponenten)?
Und was ist 'Ren1' für eine Komponente? Wenn diese eine AddActor2D-Methode hat, so wird diese doch auch sicherlich eine Remove oder Delete-Methode besitzen?
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: Do 06.10.11 20:08
Hallo,
ich weis nicht ob das hier funktioniert. Ist nur so ne Idee:
C#-Quelltext 1: 2:
| var element = GetChildAtPoint(new Point(x, y)); element.Dispose(); |
oder mach es so:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| for (int x = 0; x < Size.Width; x++) { for (int y = 0; y < Size.Height; y++) { try { var element = GetChildAtPoint(new Point(x, y)); if (element.Text == "xyz") element.Dispose(); } catch { throw; } } } |
Wenn Dispose() nicht klappt, probier es mit Hide(), was das Objekt allerdings nur verbirgt...
P.S. Die zweite Methode solltest du evtl. als eigenen Thread Starten, da sie je nach Formgröße ziemlich Zeitaufwändig werden kann.
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
|
|
HoPPeL 
      
Beiträge: 51
|
Verfasst: Do 08.12.11 14:38
so nach meiner 2 monatigen auszeit, habe ich mich wieder an das problem gesetzt.
mein Labelactor besitzt dieverse Methoden um in wieder zu entfernen, wie z.b.
C#-Quelltext 1:
| Operations.LabelActor.VisibilityOff(); |
aber ich habe ja 8 stück, die alle gleich heißen und somit wird immer nur der letzte erstellete labelactor unsichtbar gemacht?!
mfg
|
|
ujr
      
Beiträge: 102
Erhaltene Danke: 12
|
Verfasst: Do 08.12.11 15:31
Hallo C#,
was genau bezweckst Du mit
C# hat folgendes geschrieben : |
C#-Quelltext |
zudem ist der angegebene Grund für "try/catch" nicht stichhaltig - bestenfalls, wenn Element "dynamic" ist, ansonsten beschwert sich schon der Compiler.
Hallo HoPPeL,
leider bist Du immer noch Details zur von Dir verwendeten Bibliothek schuldig geblieben.
|
|
HoPPeL 
      
Beiträge: 51
|
Verfasst: Do 08.12.11 16:16
Th69 hat folgendes geschrieben : | Hallo HoPPeL,
vllt. solltest du ersteinmal schreiben, mit welcher Library du arbeitest (denn 'vtkTextActor' ist zumindestens keines der Standard WinForms-Komponenten)?
Und was ist 'Ren1' für eine Komponente? Wenn diese eine AddActor2D-Methode hat, so wird diese doch auch sicherlich eine Remove oder Delete-Methode besitzen? |
Also es handelt sich um bei meiner genutzten bibliothek um www.vtk.org/
Ren1, ist meine renderer, dem ich eben meine labels mit zuordne, damit diese dann mit auf dem bildschirm ausgegeben werden.
mfg
|
|
ujr
      
Beiträge: 102
Erhaltene Danke: 12
|
Verfasst: Do 08.12.11 17:15
HoPPeL hat folgendes geschrieben : | Ren1, ist meine renderer |
Nimm einfach mal an, dass die Mehrzahl der Leser hier diese Bibliothek nicht kennt. Und dann noch mal: renderer? Was ist das für eine Klasse?
Du zitierst so schön, was Th69 schrieb - was ist denn mit der Remove-Methode? vtk hat doch eine umfangreiche Dokumentation.
|
|
|