x.Text在为其分配默认值后未更新

时间:2016-03-28 22:57:04

标签: c# winforms textbox telerik

我使用C#在VS2013中编程。我试图修改一个下拉文本框(Telerik RadDropDownListElement)。打开软件时,上次用户的输入将是默认值。

我使用了Properties.Settings.Default.var来保存用户输入。当我将它分配给x.Text时,我无法再访问用户在运行时输入的文本框中的值。

public Initialize()
{ 
    /****other initial ****/
    x.Text = Properties.Settings.Default.var; 
    // set text to default value
}

private void save_button_Click(object sender, EventArgs e)
{
    Properties.Settings.Default.var = x.Text; 
    //x.Test still has the default value, not the value in textbox

    Properties.Settings.Default.save();
}

我尝试使用以下链接中的属性绑定,但我得到了类似的结果。 Automatically update the Application Setting using the binding from VS.Net Designer

单击“保存”按钮时,如何访问文本框中的值而不是默认值?

/ ****编辑细节**** /
如果我注释掉,我可以将x.Text保存到var x.Text = Properties.Settings.Default.var;
但是没有显示默认值。

我使用下拉列表作为简单的文本框。这会产生重大影响吗? 我没有使用下拉列表的索引,只使用文本。

2 个答案:

答案 0 :(得分:0)

尝试Properties.Settings.Default["mysetting"];

答案 1 :(得分:0)

我想这取决于你是如何填充下拉列表的。如果它处于未绑定模式并且您手动添加了项目,则可以设置控件的文本,但如果绑定了该控件,则应使用值。

但是,我建议采用不同的方法。而不是设置Text,设置SelectedItem(或SelectedIndex属性)。要设置SelectedItem,请找到您需要选择的项目并将其分配给属性:

radDropDownList1.SelectedItem = radDropDownList1.FindItemExact("your string", true);

确保FindItemExact返回一个项目,如果没有,请检查您的项目和保存的字符串。

您还可以使用其他几种Find *方法。它们返回索引,可以在SelectedIndex属性中设置。