因此,我在.NET 2.0中創建了一個自定義用戶控件,並且此用戶控件基本上是一個組合的用戶控件(它帶有一個帶有標籤的圖片)。它的功能是基本表現得像一個按鈕,就可以點擊等在按鈕上調用_Paint點擊
現在我的問題是,無論出於何種原因邊框樣式不支持3D邊框...
所以當按鈕是unclicked它應該有Border3dStyle.Raised外觀。然後當它被按下時,它應該有Border3dStyle.Sunken外觀。
我通過覆蓋OnPaint方法獲得了Border3dStyle.Raised。是這樣的...
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
ControlPaint.DrawBorder3D(e.Graphics, this.ClientRectangle, Border3DStyle.Raised);
}
我有我想按鈕本身被點擊,這是我的想法可能會奏效時調用其他方法。
private void UserInkControl_Paint(object sender, PaintEventArgs e)
{
Rectangle borderRectangle = this.ClientRectangle;
ControlPaint.DrawBorder3D(e.Graphics, borderRectangle, Border3DStyle.Sunken);
}
我註冊它在加載事件
private void UserInkControl_Load(object sender, EventArgs e)
{
this.Paint += new System.Windows.Forms.PaintEventHandler(this.UserInkControl_Paint);
}
我如何可以調用UserInkControl_Paint當點擊事件被觸發?
只有這個區域重新繪製,假設他只在他的「繪製」方法內繪製所需的區域。 – Vercas