有没有更好的方法来禁用复选框?

Wil*_*Wil 1 vb.net user-interface winforms

我正在开发一个具有许多复选框的应用程序,这些复选框从未选中开始,每个复选框都有一个关联的文本框,在选中该复选框之前,该文本框将被禁用.

我正在经历并且目前一个接一个地做"如果检查,启用,如果未经检查,禁用" - 但是这是永远的!

我应该使用哪种更快的方法/方法来加速这个过程?

我没有说出语言,因为我不确定它是否重要 - 我正在使用VB进行编程,但是我只想在正确的(语言无关的)方向上推进,我可以从那里进一步研究.

SLa*_*aks 6

您可以创建一个带有复选框和文本框的函数,并处理复选框的事件以禁用文本框.

然后,您可以简单地为每对调用一次函数.

例如:(在C#中)

void BindCheckbox(CheckBox checkbox, Control targetControl) {
    targetControl.Enabled = checbkox.checked;
    checkbox.CheckedChanged += delegate { targetControl.Enabled = checbkox.checked; };
}

BindCheckbox(someCheckbox, someTextbox);
Run Code Online (Sandbox Code Playgroud)


Dus*_*ges 5

为什么不创建一个具有复选框和文本框的控件,并处理该控件中文本框的启用/禁用?

  • 这仅在控件彼此相邻时才有用. (3认同)