【问题标题】:Slider Maximum value = textbox1.text滑块最大值 = textbox1.text
【发布时间】:2013-02-01 12:53:20
【问题描述】:

我查遍了谷歌,没有人问过这个问题,或者没有任何答案。我想要做的是使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 中的文本是滑块的值。 问题是您用来更改值的滑块部分停留在最后。有谁知道如何以实际值而不是结尾显示抓取器部分?

【问题讨论】:

    标签: c# winforms slider


    【解决方案1】:

    你应该使用Int32.TryParse:

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

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

    【讨论】:

    • 谢谢,这行得通,你能看看你能不能解决我对我的问题的第二次编辑?
    • 如果您还有其他问题,您应该开始一个新问题
    【解决方案2】:

    您可以使用ParseTryParse 在这里找到

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

    但要更正并让您的输入始终是数字,请使用TryParse

    int maxValue;
    int.TryParse(textBox1.Text, out maxValue);
    

    【讨论】:

    • 不用说,如果您在文本框中输入除数字以外的任何内容,这将崩溃...
    【解决方案3】:
    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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2013-06-24
      • 1970-01-01
      相关资源
      最近更新 更多