【问题标题】:x.Text not updating after assigning default value to itx.Text 在为其分配默认值后未更新
【发布时间】:2016-03-30 04:57:35
【问题描述】:

我使用 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;
但是没有显示默认值。

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

【问题讨论】:

  • 您是否有一个名为Properties.Settins 的课程,或者您的问题中只有两个拼写错误?你是输入这个还是剪切/粘贴?您是在调试器中验证 x.Text 的值(想知道您的注释代码),还是假设它已保存到您的属性中?
  • @KoryGill 抱歉打错了。我输入了这个,因为另一台电脑没有互联网。我确实在调试器中验证了 x.Text 的值。
  • 我用文本框替换了我所有的下拉列表,现在它可以工作了。

标签: c# winforms textbox telerik


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 以前的程序员使用下拉列表作为文本框,所以下拉列表根本没有弹出(空)。这会有什么不同吗?
  • 在这种情况下,这应该可以正常工作。您可以用 RadTextBox 替换它,看看它是如何工作的,或者您可以上传一个可以观察到问题的示例,我可以看看。
  • 谢谢!我只是用 radTextBox 替换了我的 radDropDownList,现在它可以工作了。但是您的解决方案对我项目的其他部分非常有用。
【解决方案2】:

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

【讨论】:

  • 你是什么意思?将所有 Properties.Settings.Default.var 替换为 Properties.Settings.Default["mysetting"]?我必须在某处声明 mysetting 吗?
  • 查看解决方案的属性目录。那里应该有一个名为 Settings.settings 的文件。打开它,然后开始设置:)
  • 我已经设置了我的 Settings.settings。在我上面的代码中是 "var" "string" "user"
猜你喜欢
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多