如何将滑块值转换为文本框
本文关键字:转换 文本 | 更新日期: 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();
}