InnerPlotPosition

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Haudruferzappeltnoch.

    InnerPlotPosition

    Neu

    Hallo an Alle,

    ich habe ein Chart auf einer UserForm. Die InnerPlotPosition wird prozentual zur ChartAreaPosition bestimmt. Ich habe mein Chart fast über die gesamte Höhe der UserForm und dennoch wird das Chart nur auf der Hälfte dargestellt. Ich habe nun schon etliche Zahlen durchgespielt, aber ich bekomme es irgendwie nicht hin.

    VB.NET-Quellcode

    1. 'Chart2.ChartAreas(0).Position.Auto = False
    2. 'Chart2.ChartAreas(0).Position = New ElementPosition(0, 0, 1395, 1110)
    3. Chart2.ChartAreas(0).InnerPlotPosition.Auto = False
    4. Chart2.ChartAreas(0).InnerPlotPosition = New ElementPosition(0, 0, 100, 100)


    Was mache ich denn bloß falsch?

    Viele Dank und viele Grüße
    Frank
    Bilder
    • 123.png

      75,14 kB, 1.430×1.185, 16 mal angesehen

    Neu

    Also wenn ich ein Chart aufs Form ziehe, dann füllt der Plot das Chart vollständig aus. Das ist also der Default. (Dabei ist Position = Auto und InnerPlotPosition = Auto)
    Was muss man tun, um dein Problem zu reproduzieren?

    Die Area kann nicht größer werden als die ChartArea.Position
    Die Benamung ist ja ne Katastrophe

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

    Neu

    Also wenn ich beides auf True setze, dann sieht es so aus. Hast du irgendeine Idee was ich machen könnte?

    Visual Basic-Quellcode

    1. Chart2.ChartAreas(0).Position.Auto = True
    2. 'Chart2.ChartAreas(0).Position = New ElementPosition(0, 0, 1395, 1110)
    3. Chart2.ChartAreas(0).InnerPlotPosition.Auto = True
    4. 'Chart2.ChartAreas(0).InnerPlotPosition = New ElementPosition(0, 0, 100, 100)
    Bilder
    • 456.png

      123,01 kB, 1.757×1.553, 14 mal angesehen

    Neu

    Also bei mir ists anders.
    Mach ein neues Projekt und zieh ein Chart aufs Form, dann siehst du was ich meine.
    Ausm Stehgreif weiß ich nicht was da schief läuft, bräuchte ich mehr Infos zum testen.

    Dazu sei gesagt, alle diese Zeilen Code lassen sich im Designer im Chart selbst einstellen, da müsste man bisher nichts selbst tippern.
    Das hat im Designer den Vorteil, dass man sofort sieht was sich ändert an der Darstellung

    Neu

    @toyy1 Wenn Du Deine projekte nächstes Mal ohne die vs-, bin-, obj-Verzeichnisse zippst, wären sie DEUTLICH kleiner.
    Deines wäre statt 4,83 MB nur 1,325 KB lang :!:
    Nutze den SolutionExplorer vom @ErfinderDesRades zum Zippen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Neu

    Ja weiß auch nicht genau was da falsch lief, aber ich hab jetzt den ganzen handgetippten Designer-Code rausgeschmissen und entsprechend im Designer umgesetzt.
    Außerdem haben deine Controls aus dem Form rausgeragt im Designer. Deswegen und um zu Testen habe ich diese Controls in einem SplitContainer organisiert und die Größenbeschränkung für die Form rausgenommen.

    Ergebnis: Chart sieht schick aus und man kann die Größe anpassen.

    Also das ganze Gefummel mit den Anzeige-Properties im Code hinzutippen, davon rate ich ab. Kannst ja mal beide Projekte vergleichen und schauen welche Änderung am Ende ausschlaggebend war.
    Bilder
    • kleen.png

      43,3 kB, 1.025×586, 5 mal angesehen
    • gross.png

      73,1 kB, 1.612×944, 7 mal angesehen
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

    Neu

    @RodFromGermany: In Ordnung, vielen Dank für den Hinweis. Ich werde es mir für die Zukunft merken.

    @Haudruferzappeltnoch: Vielen lieben Dank für deine Mühen. Ich werde es mir nun gleich ansehen. Ich habe da in Desinger nichts selbst reingeschrieben und meine Controls sahen auf der Form eigentlich auch gut aus. Eventuell liegt das auch an den 4k Bildschirmen, die ich verwende. Ich werde den alten und deinen Code miteinander vergleichen. Vielen Dank nochmal für deine Hilfe und Bemühungen und Dir noch einen schönen Abend.

    Viele Grüße,
    Frank

    Neu

    Du musst unterscheiden zwischen Designer (die Oberfläche wo du Buttons und Charts aufs Form tun kannst), dem Designer-Code (automatisch erzeugter Code, durch zuvor genannte Bedienung des Designers) und deinem Code.

    Zum Beispiel:

    Kannst da Maximum und Minimum der x-Achse angeben. Usw.

    Du hast selbst getippt
    Chart2.ChartArea(0).AxisX.Maximum = 1

    Das meint ich.