我看了一遍谷歌,没有人问这个问题,或者没有任何答案。我想要做的是在slider
中为textbox
的文本设置textBox1_TextChanged
的最大值,我试图这样做:
此代码位于我的textBox1.Text = slider1.Maximum.ToString();
活动
this.slider1.Maximum = textBox1.Text;
和此:
Cannot Implicitly Convert 'String' to 'Int'
还有其他一些,但它不起作用,它说:
private void slider1_ValueChanged(object sender, EventArgs e)
{
textBox1.Text = slider1.Value.ToString();
}
如果有人知道该怎么做,请在这里发布或告诉我在哪里可以找到代码。
第二个问题
我有另一个问题,我有这个代码:
{{1}}
它显示滑块的值就好了但是你抓住的滑块停留在最后,如果这太混乱了我的问题:
当我抓住滑块时,textBox1中的文本是滑块的值。 问题是你抓住改变值的滑块部分停留在最后。有没有人知道如何以实际值而不是结束显示抓取部分?
答案 0 :(得分:3)
您应该使用Int32.TryParse:
int sliderValue = 0;
Int32.TryParse(textBox1.Text, out sliderValue);
如果尝试解析失败,请提供解释原因的错误消息..
答案 1 :(得分:2)
您可以使用Parse
或TryParse
this.slider1.Maximum = int.Parse(textBox1.Text);
但是为了更多纠正措施并使您的输入始终是一个数字,请使用TryParse
:
int maxValue;
int.TryParse(textBox1.Text, out maxValue);
答案 2 :(得分:0)
const int defaultMaximumSlider = 0; // Default value for slider maximum
int value;
if(int.TryParse(textBox1.Text, out value)) //Try to get our value
{
this.slider1.Maximum = value;
}
else // and if it isn't successful assign our default
{
this.slider1.Maximum = defaultMaximumSlider;
}