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.