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.
DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;
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.
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;
Aihe on jo aika vanha, joten et voi enää vastata siihen.