基于C#的自定义用户控件(WinForm窗体)

写在前面:

在C#中,有时为方便控件的数据绑定,在C#自带控件的基础上进行进一步封装,即创建用户自定义控件。

步骤如下:

1、创建Winform窗体应用(.Net Framework)

 2、在右上角解决方案右键添加----用户控件(windows 窗体),命名为textShow.cs

  

  3、在textShow窗体中,将窗体大小调整合适,在工具箱中选择SpiltContainer控件,将窗体分为左右两个部分。

 

  左边添加一个label控件,为label1,右边添加一个textbox控件,为textbox1;并调整合适Font大小,分别将label1和textbox1控件绑定到容器的控件边框,如下图

 4、在textShow窗体代码中,将自定义属性绑定到该窗体的控件。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class textShow : UserControl
    {
        public textShow()
        {
            InitializeComponent();
        }

        private string label;
        public string Label
        {
            get { return label; }
            set { label = value;
                this.label1.Text = label;
            }
        }

        private string tag;
        public string Tag
        {
            get { return tag; }
            set { tag = value;
                this.textBox1.Tag = tag;
            }
        }

        private string varvalue;
        public string VarValue
        {
            get { return varvalue; }
            set {
                varvalue = value;
                this.textBox1.Text = varvalue;
            }
        }

        //给textbox添加事件,使改变该控件的text值时,将该值写入到属性VarValue中
        private void TextBox1_TextChanged(object sender, EventArgs e)
        {
            VarValue = this.textBox1.Text;
        }

    }
}

5、生成解决方案。然后切换到form1中,工具箱中就出现了组件textShow,将其拖到窗体中。

 修改该控件属性,

 

 到这里就已创建完毕,就可以在代码中调用了,其他类型的自定义用户控件,请自行摸索。

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: 在C# WinForm窗体中,如果你想要在表格控件上填充颜色,但是鼠标经过其他控件时整个表格里的数据都变了,可能是因为你在窗体上直接绘制了表格,而没有使用自定义控件来解决这个问题。\[1\] 你可以尝试使用自适应类来解决这个问题。首先,将自适应类的代码复制到你的工程命名空间中,然后声明自适应类的实例。接下来,在窗体上添加SizeChanged事件,并在事件方法中记录窗体控件的初始位置和大小。最后,调用自适应类的自适应方法,完成自适应。这样,你就可以在表格控件上填充颜色而不会受到其他控件的影响了。\[2\] 你还可以使用Panel、DataGridView等控件来实现自适应。\[2\] 在窗体的代码中,你需要引入System、System.Collections.Generic、System.ComponentModel、System.Drawing和System.Windows.Forms这些命名空间,并在窗体的Load事件中调用自适应类的初始化方法,记录窗体控件的初始位置和大小。然后,在窗体的SizeChanged事件中调用自适应类的自适应方法,完成自适应。\[3\] 这样,你就可以在C# WinForm窗体中使用表格控件,并且实现自适应的效果了。 #### 引用[.reference_title] - *1* [C#自定义控件实现窗体绘制表格](https://blog.csdn.net/qq_22955427/article/details/76252582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C# WinForm 窗体及其控件的自适应](https://blog.csdn.net/chbxgbin/article/details/109690260)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值