C# 将属性添加到用户控件并使其在windows窗体中可见

C# 将属性添加到用户控件并使其在windows窗体中可见,c#,winforms,user-controls,C#,Winforms,User Controls,在主题中,我创建了一个用户控件,作为组件添加到工具箱中。在测试表单上拖动后,它看起来如下所示: 我的目标是添加几个在拖动到表单后可见的属性,以便用户可以根据自己的偏好自由更改,例如值、文本、轨迹栏上的比例等。 目前,我已经严格设置了一些设置,但我对主动将属性更改为任何值感兴趣。组件代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using

在主题中,我创建了一个用户控件,作为组件添加到工具箱中。在测试表单上拖动后,它看起来如下所示:

我的目标是添加几个在拖动到表单后可见的属性,以便用户可以根据自己的偏好自由更改,例如值、文本、轨迹栏上的比例等。 目前,我已经严格设置了一些设置,但我对主动将属性更改为任何值感兴趣。组件代码:

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

namespace SuwakKomponent
{
    public partial class Suwak : UserControl
    {
        public Suwak()
        {
            InitializeComponent();
        }


        public void trackBar3_Scroll(object sender, System.EventArgs e)
        {
            trackBar3.Minimum = 10;
            trackBar3.Maximum = 1000;
            label4.Text = trackBar3.Value.ToString();

            int value;
            if (Int32.TryParse(label4.Text, out value))
            {

                if (value < 100)
                {
                    label4.ForeColor = Color.Black;
                    label4.BackColor = Color.White;
                }
                else if (value >= 100 && value <= 499)
                {
                    label4.ForeColor = Color.Red;
                    label4.BackColor = Color.Black;
                }
                else if (value >= 500 && value <= 799)
                {
                    label4.ForeColor = Color.Green;
                    label4.BackColor = Color.Yellow;
                }
                else if (value >= 800)
                {
                    label4.ForeColor = Color.Yellow;
                    label4.BackColor = Color.DarkBlue;
                }
            }

        }

    }
}
使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统图;
使用系统数据;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
命名空间suwakComponent
{
公共部分类Suwak:UserControl
{
公共苏瓦克
{
初始化组件();
}
public void trackBar3_滚动条(对象发送方,System.EventArgs e)
{
轨道杆3.最小值=10;
trackBar3.最大值=1000;
label4.Text=trackBar3.Value.ToString();
int值;
if(Int32.TryParse(label4.Text,out值))
{
如果(值<100)
{
label4.ForeColor=颜色。黑色;
label4.BackColor=颜色。白色;
}
否则如果(值>=100&&value=500&&value=800)
{
label4.ForeColor=颜色。黄色;
label4.BackColor=Color.DarkBlue;
}
}
}
}
}

您需要编写公共属性。
下面是一个显示在
属性窗口中的属性示例,该属性允许设置
轨迹栏3的
最小属性

public partial class Suwak : UserControl
{
    public Suwak()
    {
        InitializeComponent();
    }

    public int TrackBarMinium
    {
        get { return trackBar3.Minimum; }
        set { trackBar3.Minimum = value; }
    }

    ...
集合的代码中,如果需要,您可以编写更多的代码行。

更多信息

我不确定你在问什么。如果你的控件看起来像用户的输入,那么从用户那里获取输入并将其传递到用户控件(通常通过构造函数)中,并相应地更改用户控件。你的意思是,属性应该在属性窗口中对开发人员可见吗?如果是这样,您只需要将公共属性添加到控件类中,它们应该出现在Designer的properties窗口中。您需要创建一些公共属性。