# Problem beim ausführen des Vollbildmodus in c#



## Benni (17 November 2011)

Hi Leute,
ich habe ein Problem in der Programmiersprache c#, leider habe ich zu meinem Problem noch nichts gefunden wo auch immer ich gesucht habe...
Und zwar rufe ich in meiner Hauptform einen Splitcontainer auf.
In diesem zeige ich in jedem Panel ein UserControl.
Wenn ich nun auf Vollbild wechsle, passt sich der Splitcontainer zwar an die Neue Einstellung an, meine UserControls jedoch nicht...
Bei den UserControls finde ich auch keine Einstellmöglichkeit wie z.B. Anchor,
ach das verändern der Eigenschaft AutoScaleMode bringt mir kein Unterschied in meinem Ergebnis, habt ihr vielleicht eine Idee woran dies liegen könnte?

Guß Benni


----------



## Schnick und Schnack (17 November 2011)

Hi Benni


Also soviel ich weiss, lässt sich ein UserControl (wie auch alle anderen controls) nicht entsprechend skalieren. Dafür müsste es ja verktororientiert sein,
schlag mich wenn ich mich irre.

Theoretisch könntest Du das Resize-Event vom SplitContainer auswerten und das UserControl entsprechend per Code vergrössern/verkleinern.

So a la:


```
Private Sub SplitContainer1_Panel1_Paint(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SplitContainer1.Resize
         UserControl11.Width *=  2

        MessageBox.Show("Test")

    End Sub
```

Müsstest halt die Grösse vom Panel noch entsprechend auslesen und das UC daran angleichen.
Hängt halt auch davon ab was Du alles ins UC gepackt hast. Denn, da nicht vektororientiert, werden alle Controls im UC nicht entsprechend angepasst und Du müsstest
auch dort jedes einzelne Control neu berechnen.

Also Ich sehe das eher weniger. Sorry.

PS:
AutoScaleMode ist entscheidend bei Veränderung der Anzeigeeinstellungen in der Systemsteuerung.
Hat aber nichts mit dem Maximize/Minimize-Mode zu tun.

Gruss Anis

*
Edit:

Sorry, is halt VB, aber gilt natürlich alles auch für C#
*


----------



## Benni (17 November 2011)

Hey Anis,
Danke für deine Antwort...
Hmm das mit dem ScaleMode ist für mich dennoch teilweise wichtig, da ich zur Zeit auf meinem LapTop im Geschäft programmiere, das Programm aber später auf einen anderen Rechner mit größerem Bildschirm und anderen Auflösungen läuft...

Hmmm... Schade dass es hierzu keine andere Möglichkeit gibt. Ich habe für das Panel knappe 10 UserControls die ich demnach alle anpassen muss. In den COntrols habe ich je ca. 6 GroupBoxen, 2 Buttons, einige Labels eine ProgressBar, ettliche Textboxen und eine Datagridview... ich glaube das wars, aber ist auch genug wenn ich da die meisten abändern müsste.
Naja kann man wohl nichts machen... Dann muss ich halt in den sauren Apfel beißen und mich dran machen.

Gruß Benni


----------



## Schnick und Schnack (17 November 2011)

Kannst Du das Maximieren nicht unterbinden?

Hier noch was zum stöbern

http://msdn.microsoft.com/de-de/library/ms229605(v=VS.90).aspx


----------



## TimoS (17 November 2011)

Probiers mal mit einem Table Layout Panel


----------



## Benni (17 November 2011)

Ne das maximieren kann ich leider nicht unterbinden, da es sich hierbei um ein Prüfprogramm handelt und diese immer im Vollbild und im Vordergrund laufen soll...


@Timo, Danke auch für deine Antwort, ich habe deine Idee eben versucht, leider musste ich feststellen, dass sich alles ändert, die größe des Layout, die darin erstellten Panels, dennoch leider die UserControls nicht. Dennoch Danke für dein Vorschlag.

Gruß Benni


----------



## Schnick und Schnack (17 November 2011)

Dann musste ja ned nen Dialog machen sondern ein Standard-Formular.
Halt mit der AUflösung entsprechender Grösse.

Das ist immer maximiert.


----------



## Benni (17 November 2011)

Ja gut, das kann ich machen... Du meinst einfach das Formular bereits zuvor auf Nahezu Vollbild skallieren?
Ist zwar nicht sonderlich schön aber so werde ich dies wohl tun müssen. Vor allem da ich ja in einer anderen Bildschirmgröße programmiere wie die die ich nachher am Prüfstand habe. Der Nachteil: Jetzt bin ich kleiner im Bild als nachher, von dem her ist es eigentlich blöd zu programmieren und ich werde wohl doch die Methode der Berechnung vorziehen...
Es ist auch schlecht wenn dann doch mal noch auf einem anderen PC das Programm laufen sollte und dieser hat nicht die entsprechende Auflösung etc. ...


----------



## Schnick und Schnack (17 November 2011)

Nix skalieren

Form markieren, formBorderStyle auf none, size auf die Auflösung des Zielrechners, bsp 1024;768
Und gut is. Beim design kann es teilweise etwas mühsam sein ja, aber in der Laufzeit ist es dann optimal.


----------



## RobiHerb (20 November 2011)

GGF mal unter WPF also nicht Windows Forms sich die Sache ansehen.


----------



## Benni (23 November 2011)

Danke euch für eure Antworten,
ich werde jetzt erstmal das Programm noch fertig schreiben, das Design ist vorerst mal noch zweitrangig und dann werde ich mich weiter mit dem Problem befassen...
Dennoch werde ich eure Ratschläge weiterverfolgen und hoffen dass sie mich weiterbringen, Danke.


----------

