C# - 将Slider连接到TextBox并读入TextBox值

时间:2014-02-28 14:53:36

标签: c# slider

我在我的MainPage()中有以下代码行:

string str = tbx1.Text;

然后我有一个更改此TextBox的滑块:

    private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        Slider slider1 = sender as Slider;
        tbx1.Text = slider1.Value.ToString();

    }

当我运行应用程序时,会读入默认值tbx1,并且可以使用滑块更改它。但是,如何将tbx1的新值读入str?似乎只有默认值保存在str

3 个答案:

答案 0 :(得分:1)

如果可以访问字符串,则可以执行以下操作

private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    Slider slider1 = sender as Slider;
    tbx1.Text = slider1.Value.ToString();
    str = slider1.Value.ToString();
}

答案 1 :(得分:0)

如果你想在tbx1.Text时改变str,你可以这样做:

你可以在你的班级宣布你的价值

private string _str

然后你必须制作你的代码:(你必须在你的文本框中添加Leave函数)

private void tbx1_Leave(object sender, EventArgs e)
{
    _str = tbx1.Text;
}

private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    Slider slider1 = sender as Slider;
    _str = tbx1.Text = slider1.Value.ToString();

}

答案 2 :(得分:0)

您可以将字符串包装在属性中并动态访问它:

string Str
{
    get { return tbx1.Text; }
    set { tbx1.Text = value; }
}

如果您只需要读取字符串,那么您可以删除setter:

string Str
{
    get { return tbx1.Text; }
}

使用属性Str代替变量str。这将始终产生实际值(示例):

string result = Str;

<强>更新

或者,您可以直接从滑块中获取值。

string Str
{
    get { return slider1.Value.ToString(); }
}