フルスクリーン フォームがあり、Paint イベントのハンドラーで、フォーム全体に 2px の境界線を描画しています。コンピューターに接続された画面ごとに、これらのフォームの 1 つを作成します。何らかの理由で、上と左の境界線が非プライマリ モニターに描画されません。フォームの背景は画面全体をカバーしていますが、画面の上から約 3 ピクセル、左から 3 ピクセルの領域に (GDI を使用して) 描画することはできません。
私のペイントイベントハンドラーコードは以下のとおりです。
private void OnPaint(object sender, PaintEventArgs e)
{
using (Graphics g = this.CreateGraphics())
{
int border = 2;
int startPos = 0;
// offset used to correctly paint all the way to the right and bottom edges
int offset = 1;
Rectangle rect = new Rectangle(startPos, startPos, this.Width - border + offset, this.Height - border + offset);
Pen pen = new Pen(Color.Red, border);
// draw a border
g.DrawRectangle(pen, rect);
}
}
誰もこれを見たことがありますか?