滑块最大值= textbox1.text

时间:2013-01-31 16:57:03

标签: c# winforms slider

我看了一遍谷歌,没有人问这个问题,或者没有任何答案。我想要做的是在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中的文本是滑块的值。 问题是你抓住改变值的滑块部分停留在最后。有没有人知道如何以实际值而不是结束显示抓取部分?

3 个答案:

答案 0 :(得分:3)

您应该使用Int32.TryParse

int sliderValue = 0;
Int32.TryParse(textBox1.Text, out sliderValue);

如果尝试解析失败,请提供解释原因的错误消息..

答案 1 :(得分:2)

您可以使用ParseTryParse

找到此处
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;
}