title: C# - How to set duplex if there are 4 duplex settings for the printer?
body: <p>I'm using the code posted in this answer - <a href="https://stackoverflow.com/a/45138072/5359882">https://stackoverflow.com/a/45138072/5359882</a></p>
  
  <p>The code works perfectly for the printers with 3 duplex settings (off, short edge, long edge), when trying to set duplex for the printer with 4 settings (off, open to top, open to left, booklet), setting the duplex back to simplex (off) with this line is impossible:
  <code>- ds.SetPrinterDuplex(printername, 1, out errorMessage);</code></p>
  
  <p>Setting duplex values also behaves funny...
  Is this resolvable? Many thanks in advance.</p>
  
  <p><strong>UPDATE</strong>
  For testing purposes, I've created a simple WinForm with three buttons, <strong>button1</strong> sets the duplex to 2 ("Open to Left" on the mentioned printer) <code>ds.SetPrinterDuplex("Gestetner DSm415 PCL 6", 2, out errorMessage);</code>
  <strong>button2</strong> is supposed to turn the duplex off  <code>ds.SetPrinterDuplex("Gestetner DSm415 PCL 6", 1, out errorMessage);</code>
  <strong>button3</strong> outputs the current duplex value to a label.</p>
  
  <p>By funny behaviour, I mean:
  1. Setting duplex to 2 (Open to Left) or to 3 (Open to Top) via WinForm only works, when the initial duplex setting is "Off" (which has to be switched manually beforehand). Changing the value programmatically from any other setting other than Off is not possible.
  2. When input any value as duplex setting and then output with the use of the 3rd button, this value will be displayed as the current duplex value (for example, if to set 10 by <code>ds.SetPrinterDuplex("Gestetner DSm415 PCL 6", 10, out errorMessage);</code> (which is absurd) and the call method GetPrinterDuplex, it shows duplex value as 10.
  3. "errorMessage" parameter is an empty string when duplex is set to 1.</p>