首先,對於上下文,我是C#的初學者,我正在玩弄表單。如何在Windows窗體中的面板中繪製矩形時刪除邊距?
我試圖畫一個矩形到一個窗體(「Form1」)上的面板(「myPanel」),但有一個邊距或某種填充,我無法刪除。
我已經將「myPanel」的「padding」和「margin」屬性設置爲0,但沒有成功。
的代碼是:
namespace Forms___Playing_with_Graphics
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void myPanel_Paint(object sender, PaintEventArgs e)
{
// rectangle, slightly smaller than size of panel
int topLeftx = myPanel.Location.X;
int topLefty = myPanel.Location.Y;
int width = myPanel.Size.Width - 5;
int height = myPanel.Size.Height - 5;
Graphics g = e.Graphics;
Rectangle r = new Rectangle(topLeftx, topLefty, width, height);
Pen p = new Pen(Color.Black, 5F);
g.DrawRectangle(p, r);
}
}
}
結果的截圖:
如何刪除矩形和裏面左邊和頂部邊緣之間的填充?我天真的期望是矩形從最左上角開始。
任何幫助將不勝感激。
面板的內部有自己座標,所以topLeftx = 0,topLefty = 0。 – LarsTech
不要使用'myPanel.Location',繪圖應該在'myPanel.ClientRectangle'內。 –