我在事件上动态创建和跟踪栏, 现在我想要一个文本框t来填充跟踪栏的值。c#在创建对象之前使用对象
但我怎么可能做到这一点?因为我会得到一个错误,说动态创建的trackbar不存在。这是逻辑
这是我到目前为止。
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正在初始化的位置? – Smeegs
错误出现在按钮trackbar1_scroll事件中。它说“trackbar1”和“textbox1”不存在,这是真的。因为它们将被动态创建。 – user1859829
trackbar1在listbox.selectedIndexChanged上初始化。 – user1859829