防止控件在未启用时更改其Text属性

时间:2012-01-30 08:19:10

标签: c# winforms controls

我的应用程序中有一些DomainUpDown控件。行为设置如下:

  • 正常:每个控件都可以单独上/下(更改所选项目)
  • 特殊:如果选中复选框,则向上/向下移动第一个控件也会导致其他控件也发生变化

现在有些情况我希望通过设置Disabled = true来禁用某些控件。我做到了,但在这种情况下,更改第一个控件的选定项目将导致其他禁用控件也更改所选项目。

有没有办法完全禁用控件,所以它不接受像control.Text = "bla bla"这样的东西?

P.S:我不需要隐藏控件!

2 个答案:

答案 0 :(得分:1)

一种方式:

您可以保存Textbox.Text值列表,其中包含所有文本框的条目。

OnTextChanged

  • 如果您的文本框已启用 - 请更新其text属性并将其存储在列表中。

  • 如果您的文本框已停用 - 请将其文本property设置为列表中的最后一个值。

您可以使用Dictionary或包含KeyValuePair个对象的任何类似内容。

答案 1 :(得分:0)

我担心没有。至少没有额外的工作。