【发布时间】:2013-06-16 10:13:45
【问题描述】:
我在事件上动态创建和跟踪栏, 现在我想用轨迹栏的值填充一个文本框。
但我怎么可能做到这一点?因为我会收到一条错误消息,说动态创建的轨迹栏不存在。这是逻辑
这是我目前所拥有的。
TrackBar trackBar = new TrackBar();
trackBar.Name = "TrackbarWidth" + trackbarName++;
trackBar.Tag = "dispose";
trackBar.Maximum = 85;
trackBar.Minimum = 65;
trackBar.SmallChange = 5;
trackBar.TickFrequency = 5;
trackBar.Value = WidthValue;
trackBar.Location = new Point(175, 440 + (50 * trackbarName));
trackBar.Size = new System.Drawing.Size(100, 25);
this.Controls.Add(trackBar);
TextBox textBox = new TextBox();
textBox.Name = "TrackbarWidth" + TextboxName++;
textBox.Text = trackBar.Value.ToString();
textBox.Tag = "dispose";
textBox.Location = new Point(300, 440 + (50 * TextboxName));
textBox.Size = new System.Drawing.Size(30, 25);
this.Controls.Add(textBox);
lineWidth += 4;
}
#endregion
}
private void trackBar1_Scroll(object sender, EventArgs e){
textBox1.Text = trackBar1.Value.ToString();
}
这个解决方案的问题是我无法访问trackBar1_Scroll方法中的文本框或轨迹栏。
【问题讨论】:
-
trackbar1在哪里初始化?
-
错误出现在按钮 trackbar1_scroll 事件中。它说“trackbar1”和“textbox1”不存在,这是真的。因为它们是动态创建的。
-
trackbar1 在 listbox.selectedIndexChanged 上初始化。
标签: c# winforms events controls