动态创建的轨迹栏和标签,并在C#中将它们链接在一起

时间:2011-09-04 23:42:32

标签: c# dynamic dynamic-linking labels trackbar

我正在尝试动态创建轨迹栏和标签。其中如果用户输入类似4的数字,则会创建4个轨迹栏和4个标签。然后,如果用户移动任何动态创建的轨迹栏,则移动它并更新其相关标签。然后在所有标签中添加数字,并将其存储在另一个标签调用总标签中。

这是解释它的另一种方式。用户输入数字3.系统创建3个轨迹栏和3个标签(在轨迹栏旁边)。用户将第一个轨迹栏移动到5,第一个标签自动更新为5.用户将第二个轨迹栏移动到3,第二个标签自动更新为3.最后用户将第三个轨迹栏移动到位置9并且标签自动更新为9.
在右侧有另一个标签显示17 =(5 + 3 + 9)。

我找到了一些创建动态控件的网站,但我不知道如何将动态创建的跟踪栏链接到动态创建的标签。然后添加那些动态添加的标签。

所有这些都在Windows窗体上的C#中。

在创建标签和轨道栏时,我做了一些非常类似的事情。

for (int i = 0; i < 10; i++)
{
    Label label = new Label();
    label.Text = i.ToString();
    PlaceHolder1.Controls.Add(label);
}

谢谢你的进步

------------------------更新-----------------

void CreateLabeledTrackBars(Control host,int n)

我如何使用它,我希望当我开始一个新表格时

我所需要的只是这个......那种形式已经有了n,但似乎没有工作..我对控制如何工作感到困惑。你可以解释一下

namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {

     public static Form2 myNewForm = new Form2();

           private TrackBar[] _trackBars;
           private Label[] _labels;
   public Form3(int n)
         {
CreateLabeledTrackBars(new Label (), n);
}

//Then the rest of the code 

1 个答案:

答案 0 :(得分:1)

您需要处理您创建的每个ValueChanged的{​​{1}}事件。要计算所有值的总和,请将创建的控件存储在数组中。

TrackBar

现在,当你有一个轨道栏数组时,获得所有值的总和应该是微不足道的。