Windowsフォームアプリケーションを作成しています。ウィンドウフォームのサイズをキャプチャするにはどうすればよいですか?
現在、私のコードには次のようなものがあります。
PictureBox display = new PictureBox();
display.Width = 360;
display.Height = 290;
this.Controls.Add(display);
display.Image = bmp;
ただし、ディスプレイのサイズは特定の値にハードコードされています。
サイズを変更する正方形を描画したい場合は、次のようなものを使用できることを知っています。
private Rectangle PlotArea;
private int offset = 30;
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
//// Calculate the location and size of the plot area
//// within which we want to draw the graphics:
Rectangle ChartArea = ClientRectangle;
PlotArea = new Rectangle(ChartArea.Location, ChartArea.Size);
PlotArea.Inflate(-offset, -offset);
Draw PlotArea:
g.DrawRectangle(Pens.Black, PlotArea);
}
方法1を使用して、高さと幅のフォームのサイズを取得する方法はありますか?
次のコードを試しましたが、機能しません...
PictureBox display = new PictureBox();
display.Width = ClientRectangle.Y;
display.Height = ClientRectangle.X;
this.Controls.Add(display);
display.Image = bmp;
PictureBox display = new PictureBox();
display.Width = ClientRectangle.Width;
display.Height = ClientRectangle.Height;
this.Controls.Add(display);
display.Image = bmp;
ウィンドウのサイズを変更する場合:
private void Form1_Resize(object sender, System.EventArgs e)
{
Control control = (Control)sender;
// set the PictureBox width and heigh here using control.Size.Height
// and control.Size.Width
}
Windowsフォームのサイズの取得:
int formHeight = this.Height;
int formWidth = this.Width;
Dock = DockStyle.Fill
を設定して、コントロールをドッキングし、その親を埋めます。
ClientRectangle.Width
に設定します。