Question: How can I know in a C#-Application, in which direction the screen of the mobile device is orientated? (i.e. horizontal or vertical).

Answer: 
In Microsoft.WindowsMobile.Status there is a class which keeps track of all kinds of properties of your device. 
Besides the one you need, DisplayRotation, it also contains properties about phone coverage, Nr of missed calls, next appointment and many more. See [msdn](http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemproperty.aspx) for more info. 

You can also add an event-handler to be notified of changes of these properties.
Just guessing but my first attempt would be:

```
var rect = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
// or var rect = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;

var ratio = rect.Width / rect.Height;

if (ratio == 1.0) // square screen.
if (ratio > 1.0) // landscape.
if (ratio < 1.0) // portrait.

```