我將一個winform作爲對話框顯示(在主窗口上使用ShowDialog)。 因此,我將FormBorderStyle設置爲None,因爲我既不需要控制箱也不需要標題欄。 雖然,我想繪製一個邊框(例如像普通窗口一樣的藍色邊框)並保留移動窗體的能力。 我不需要調整它的大小。 我試圖通過重寫OnPaint來繪製邊框,但它從不被調用。 這裏是我的代碼:當FormBorderStyle設置爲None時,winforms繪製邊框並移動。
protected override void OnPaint (PaintEventArgs e)
{
base.OnPaint (e);
int borderWidth = 2;
Color borderColor = Color.Blue;
ControlPaint.DrawBorder (e.Graphics, e.ClipRectangle, borderColor,
borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth,
ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid,
borderColor, borderWidth, ButtonBorderStyle.Solid);
}
任何幫助將不勝感激。
請使用可用來標記代碼格式化工具,使得它更容易閱讀的問題這樣... – JohnoBoy 2010-10-25 09:24:41
你的代碼工作正常,當我把它貼到表單中。 – 2010-10-25 09:43:02
我想代碼是好的,它只是不叫! – Pierre 2010-10-25 10:04:39