如何将滑块值转换为文本框

本文关键字:转换 文本 | 更新日期: 2023-09-27 18:36:08

我是 C# 新手,我想将滑块的值转换为文本框。我找到的一个选项是为文本框设置绑定,但我需要在事件中发送值。我尝试了一些解决方案,但没有奏效。

private void sliderName_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        Slider sliderName = sender as Slider;
        TextBox textBoxName = new TextBox();
        textBoxName.Text = sliderName.Value.ToString();
    }

感谢您的帮助,并对我耐心等待。 :)

如何将滑块值转换为文本框

您正在创建一个新TextBox,但未将其放置在任何地方。

窗体

上应已具有TextBox,并按在设计时在 IDE 中指定的名称引用它。例如,如果只是在窗体上放置一个TextBox,IDE 将为其指定一个名称,例如 textBox1 ,并按该名称使用它:

private void sliderName_ValueChanged(object sender, 
   RoutedPropertyChangedEventArgs<double> e)
{
    // Don't use the same name used on the form if you're
    // declaring a variable here. Use a name that's local to
    // this event.
    Slider slide = sender as Slider;
    // Use the IDE-set name here.
    difficultyBox.Text = slide.Value.ToString();
}

根据下面的评论进行了更新以反映名称更改。

或者更快的方法:

private void sliderName_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
 textBox1.Text = ((Slider)sender).value.ToString();
}

这篇文章和 Ken 的帖子之间的唯一区别是,我在设置 textBox1 的文本属性时将发件人转换为滑块。

只是向您展示不同的选项和做同一件事的不同方式。

您的方法可能会起作用,但您要在此事件处理程序的本地声明一个新的 TextBox,因此您将永远不会在屏幕上看到任何内容。

尝试设置 .窗体中文本框的文本属性;

private void sliderName_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    Slider sliderName = sender as Slider;
    difficultyBox.Text = sliderName.Value.ToString();
}