我使用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;
但是没有显示默认值。
我使用下拉列表作为简单的文本框。这会产生重大影响吗? 我没有使用下拉列表的索引,只使用文本。
答案 0 :(得分:0)
尝试Properties.Settings.Default["mysetting"];
答案 1 :(得分:0)
我想这取决于你是如何填充下拉列表的。如果它处于未绑定模式并且您手动添加了项目,则可以设置控件的文本,但如果绑定了该控件,则应使用值。
但是,我建议采用不同的方法。而不是设置Text,设置SelectedItem(或SelectedIndex属性)。要设置SelectedItem,请找到您需要选择的项目并将其分配给属性:
radDropDownList1.SelectedItem = radDropDownList1.FindItemExact("your string", true);
确保FindItemExact返回一个项目,如果没有,请检查您的项目和保存的字符串。
您还可以使用其他几种Find *方法。它们返回索引,可以在SelectedIndex属性中设置。