WinForm——Button總結
- 常用屬性
-
實例總結
-
如何動態創建Button控件。
想要動態創建控件,首先要創建控件類的對象,然後使用系統Controls對象的Add方法將控件註冊到窗體中。例:
private void Form1_MouseDown(object sender,MouseEventArgs e)
{
Button btn=new Button();
btn.Left=e.X;
btn.Top=e.Y;
btn.Name=”Button”+intCount.ToString();
btn.Text=”Button:+intCount.ToString();
this.Controls.Add(btn);
intCount++;
}
- 實現對Button按鈕的重繪
新建用户控件,命名為ControlButton。然後將繼承改為Button
public partial class ControlButton : Button
{
public ControlButton()
{
this.SetStyle(
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.ResizeRedraw |
ControlStyles.SupportsTransparentBackColor, true);
FlatStyle = FlatStyle.Flat;
FlatAppearance.BorderSize = 1;
FlatAppearance.BorderColor = Color.FromArgb(102, 102, 102);
FlatAppearance.MouseOverBackColor = Color.FromArgb(102, 102, 102);
FlatAppearance.MouseDownBackColor = Color.FromArgb(150, 150, 150);
}
private bool _isClicked = false;
public bool IsClicked
{
get { return _isClicked; }
set { _isClicked = value; }
}
private bool _inClient = false;
private bool _mouseDown = false;
private bool _enableClicked = false;
[Category("自定義屬性"), Description("啟用按下狀態")]
public bool EnableClicked
{
get { return _enableClicked; }
set { _enableClicked = value; }
}
private Color _fontColor = Color.Gainsboro;
[Category("自定義屬性"), Description("按下狀態字體顏色")]
public Color ClickedForeColor
{
get { return _fontColor; }
set { _fontColor = value; }
}
private Size _imgSize;
[Category("自定義屬性"), Description("圖片尺寸")]
public Size ImageSize
{
get { return _imgSize; }
set
{
_imgSize = value;
Invalidate();
}
}
private Image _enterImage = null;
[Category("自定義屬性"), Description("鼠標懸浮時圖片")]
public Image EnterImage
{
get { return _enterImage; }
set
{
_enterImage = value;
}
}
private Image _downImage = null;
[Category("自定義屬性"), Description("鼠標按下時圖片")]
public Image DownImage
{
get { return _downImage; }
set { _downImage = value; }
}
protected override void OnMouseDown(MouseEventArgs mevent)
{
IsClicked = !IsClicked;
_mouseDown = true;
base.OnMouseDown(mevent);
}
protected override void OnMouseUp(MouseEventArgs mevent)
{
_mouseDown = false;
base.OnMouseUp(mevent);
}
protected override void OnMouseEnter(EventArgs e)
{
_inClient = true;
base.OnMouseEnter(e);
}
protected override void OnMouseLeave(EventArgs e)
{
_inClient = false;
base.OnMouseLeave(e);
}
}
生成成功後,在工具箱裏面就可以看到。
代碼參照:http://blog.csdn.net/qq_33324878/article/details/81065310
- YoloV5實戰:手把手教物體檢測——YoloV5
- 基於阿里Semantatic Human Matting算法,實現精細化人物摳圖
- PPv3-OCR自定義數據從訓練到部署
- 如何下載pytorch的歷史版本?
- WinForm——Button總結
- WinForm——MDI窗體
- 升級 pip
- 將8位的tif圖片改為png圖片
- RepLKNet實戰:使用RepLKNet實現對植物幼苗的分類(非官方)(二)
- 關於OpenCV imread和imdecode讀取圖片是BGR的證明
- opencv讀取圖片通道以及顯示
- 萬字整理聯邦學習系統架構設計參考
- 編譯器堆空間不足
- 【圖像分類】實戰——使用EfficientNetV2實現圖像分類(Pytorch)
- MMDetection實戰:MMDetection訓練與測試
- UNet語義分割實戰:使用UNet實現對人物的摳圖
- MobileVIT實戰:使用MobileVIT實現圖像分類
- SwinIR實戰:如何使用SwinIR和預訓練模型實現圖片的超分
- 【圖像分類】手撕ResNet——復現ResNet(Pytorch)
- Deeplab實戰:使用deeplabv3實現對人物的摳圖