> フォームのサイズを変更しても赤線と青線がクロスして描画されると思っていましたが
> 動かしてみると座標が歪んでいるかのような動きをします。
こちらの原因は、フォームのサイズが変わってもDXライブラリが描画対象としている
画面のサイズは Form1 のコンストラクタで行っている
DX.SetGraphMode(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, Screen.PrimaryScreen.BitsPerPixel);
↑
こちらのサイズから変化していないからです
OnPaint の際にフォームのサイズと SetGraphMode で指定したサイズが異なっていたら
SetGraphMode にフォームのサイズを渡して呼び出し、フォームのサイズとDXライブラリが
描画対象とする画面のサイズを一致させるようにすれば意図された挙動となるかもしれません
public int WindowSizeX;
public int WindowSizeY;
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
int w, h;
// 現在のウィンドウサイズを取得
DX.GetWindowSize(out w, out h);
// サイズが今までと違ったら SetGraphMode を呼ぶ
if( w != WindowSizeX || h != WindowSizeY )
{
// DXライブラリが描画対象とする画面のサイズをウィンドウのサイズと一致するように変更
DX.SetGraphMode( w, h, 32 );
// 今回のサイズを記憶しておく
WindowSizeX = w;
WindowSizeX = h;
}
// 描画先を裏画面に変更
DX.SetDrawScreen(DX.DX_SCREEN_BACK);
// 描画可能領域のセット
DX.SetDrawArea(0, 0, ClientSize.Width, ClientSize.Height);
// 裏画面を初期化
DX.ClearDrawScreen();
DX.DrawLine(w, 0, 0, h, DX.GetColor(255, 0, 0));
DX.DrawLine(0, 0, w, h, DX.GetColor(0, 0, 255));
DX.ScreenFlip();
}