C#学习笔记:用户控件与自定义控件

  • 自定义控件设置图标:[ToolboxBitmap(typeof(),"")]
  • 属性重置
[Browsable(true)]
[Category("FKey")]
[Description("获取或者设置功能按键的个数,范围:[1,12],默认值:12。")]
[DefaultValue(12)]
 public int FKeyMax
{get { return fKeyMax; }
 set
 {
if (value >= 1 && value <= 12)
  {
      fKeyMax = value;
         SubControlSizeChange();
  }
  else fKeyMax = 12;
 }
 }

在这里插入图片描述

   private void FKey_Resize(object sender, EventArgs e)
   {
   		SubControlSizeChange(base.Width, base.Height);
   }

  • OnCreateControl事件:在界面布局时,更改控件大小等属性,不会触发,该事件在关闭设计,再打开设计时触发。
 protected override void OnCreateControl()
 {
 	base.OnCreateControl();
 	//其他代码。。。
 }
  • 数组的GetLowerBound(int dimension);GetUpperBound(int dimension)方法

  • UserControl 用户控件,识别按下了哪个按钮

public FKey()
{
    InitializeComponent();
    this.SuspendLayout();
    btnObj = new iButton[FKeyMax];
    for (int i = btnObj.GetLowerBound(0); i <= btnObj.GetUpperBound(0); i++)
    {
        btnObj[i] = new iButton();
        btnObj[i].Name = "FKeyBtn" + i.ToString();
        btnObj[i].Location = new System.Drawing.Point((int)(i * base.Width / FKeyMax * 1.0), 0);
        btnObj[i].Size = new System.Drawing.Size((int)(base.Width / FKeyMax * 1.0) - space, base.Height);
        btnObj[i].TabIndex = i;
        btnObj[i].Text = "F" + (i + 1).ToString();
        btnObj[i].Tag = i;
        //btnObj[i].Leave +=;//在输入焦点离开控件时发生
        //btnObj[i].MouseDown +=;//当鼠标指针位于控件上并按下鼠标键时发生
        btnObj[i].MouseUp += (object o, MouseEventArgs e) => { System.Diagnostics.Debug.WriteLine($"按钮 {(o as iButton).Tag}"); };//当鼠标指针位于控件上并释放鼠标键时发生
        Controls.Add(btnObj[i]);
    }

    this.ResumeLayout(false);
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值