using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[DllImport( "gdi32.dll" )]
static extern int Rectangle( IntPtr hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect );
public Form1()
{
InitializeComponent();
}
protected override void OnPaint( PaintEventArgs e )
{
// GDI+
e.Graphics.FillRectangle( Brushes.Blue, new Rectangle( 0, 0, 50, 50 ) );
e.Graphics.DrawRectangle( Pens.Red, new Rectangle( 0, 100, 50, 50 ) );
// GDI
var hdc = e.Graphics.GetHdc();
Rectangle( hdc, 0, 200, 50, 250 );
e.Graphics.ReleaseHdc( hdc );
base.OnPaint( e );
}
private void button1_Click( object sender, EventArgs e )
{
if( this.RightToLeft == System.Windows.Forms.RightToLeft.Yes )
{
this.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.RightToLeftLayout = false;
}
else
{
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.RightToLeftLayout = true;
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRHJhd2luZzsKdXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOwp1c2luZyBTeXN0ZW0uV2luZG93cy5Gb3JtczsKCm5hbWVzcGFjZSBXaW5kb3dzRm9ybXNBcHBsaWNhdGlvbjEKewogICAgcHVibGljIHBhcnRpYWwgY2xhc3MgRm9ybTEgOiBGb3JtCgl7CgkJW0RsbEltcG9ydCggImdkaTMyLmRsbCIgKV0KCQlzdGF0aWMgZXh0ZXJuIGludCBSZWN0YW5nbGUoIEludFB0ciBoZGMsIGludCBuTGVmdFJlY3QsIGludCBuVG9wUmVjdCwgaW50IG5SaWdodFJlY3QsIGludCBuQm90dG9tUmVjdCApOwoJCQoJCXB1YmxpYyBGb3JtMSgpCgkJewoJCQlJbml0aWFsaXplQ29tcG9uZW50KCk7CgkJfQoKCQlwcm90ZWN0ZWQgb3ZlcnJpZGUgdm9pZCBPblBhaW50KCBQYWludEV2ZW50QXJncyBlICkKCQl7CgkJCS8vIEdESSsKCQkJZS5HcmFwaGljcy5GaWxsUmVjdGFuZ2xlKCBCcnVzaGVzLkJsdWUsIG5ldyBSZWN0YW5nbGUoIDAsIDAsIDUwLCA1MCApICk7CgkJCWUuR3JhcGhpY3MuRHJhd1JlY3RhbmdsZSggUGVucy5SZWQsIG5ldyBSZWN0YW5nbGUoIDAsIDEwMCwgNTAsIDUwICkgKTsKCgkJCS8vIEdESQoJCQl2YXIgaGRjID0gZS5HcmFwaGljcy5HZXRIZGMoKTsKCQkJUmVjdGFuZ2xlKCBoZGMsIDAsIDIwMCwgNTAsIDI1MCApOwoJCQllLkdyYXBoaWNzLlJlbGVhc2VIZGMoIGhkYyApOwoKCQkJYmFzZS5PblBhaW50KCBlICk7CgkJfQoKCQlwcml2YXRlIHZvaWQgYnV0dG9uMV9DbGljayggb2JqZWN0IHNlbmRlciwgRXZlbnRBcmdzIGUgKQoJCXsKCQkJaWYoIHRoaXMuUmlnaHRUb0xlZnQgPT0gU3lzdGVtLldpbmRvd3MuRm9ybXMuUmlnaHRUb0xlZnQuWWVzICkKCQkJewoJCQkJdGhpcy5SaWdodFRvTGVmdCA9IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlJpZ2h0VG9MZWZ0Lk5vOwoJCQkJdGhpcy5SaWdodFRvTGVmdExheW91dCA9IGZhbHNlOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhpcy5SaWdodFRvTGVmdCA9IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlJpZ2h0VG9MZWZ0LlllczsKCQkJCXRoaXMuUmlnaHRUb0xlZnRMYXlvdXQgPSB0cnVlOwoJCQl9CgkJfQoJfQp9Cg==