Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C#, WinForms: Miten estetään ruudun kääntäminen?

kili79 [24.03.2015 08:48:00]

#

Miten onnistuu C# Winforms ohjelmassa estämään ohjelman ikkunan kääntämisen kun laitetta käännetään?
Winforms ohjelman tulisi aina olla landscape moodissa vaikka miten laiteta (Windows 8 pro tabi) kieputtaisi.

groovyb [24.03.2015 09:07:49]

#

DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;

kili79 [24.03.2015 09:30:36]

#

Tuo DisplayInformation... taitanee toimia vain Win RT:llä tai WPF sovelluksissa?
Tässä tapauksessa saman ajettavan winforms sovelluksen on myös toimittava Win Vista --> Win 7 --> Win 8 --> Win 2012 R2 niin tabi pc:llä kuin tavallisella pöntölläkin.

groovyb [24.03.2015 11:03:00]

#

Kokeilisin ehkä jotain tämän suuntaista, jos tuo ei toimi:

[System.Runtime.InteropServices.DllImport("user32", EntryPoint = "SetDisplayAutoRotationPreferences")]
private static extern UInt32 SetDisplayAutoRotationPreferences8 (UInt32 orientation);

[System.Runtime.InteropServices.DllImport("kernel", EntryPoint = "SetDisplayAutoRotationPreferences")]
private static extern UInt32 SetDisplayAutoRotationPreferences7(UInt32 orientation);

 ORIENTATION_PREFERENCE_NONE = 0;
 ORIENTATION_PREFERENCE_LANDSCAPE = 1;
 ORIENTATION_PREFERENCE_PORTRAIT = 2;
 ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 4;
 ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 8;

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta