1

我查遍了谷歌,没有人问过这个问题,或者没有任何答案。我想要做的是使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();
    }

它很好地显示了滑块的值,但你抓住的滑块留在最后,如果这太令人困惑,这是我的问题:

当我抓住滑块时,textBox1 中的文本是滑块的值。问题是您用来更改值的滑块部分停留在最后。有谁知道如何以实际价值而不是结尾显示抓取器部分?

4

3 回答 3

3

您应该使用Int32.TryParse

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

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

于 2013-01-31T16:59:07.357 回答
2

您可以使用Parse或在此处找到TryParse

this.slider1.Maximum = int.Parse(textBox1.Text);

但是为了更正并让您的输入始终是一个数字,请使用TryParse

int maxValue;
int.TryParse(textBox1.Text, out maxValue);
于 2013-01-31T16:58:55.093 回答
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;
}
于 2013-01-31T17:00:43.883 回答