ste*_*ell 9 .net c# controls winforms
在.NET窗体上操作控件时,以下哪项是最佳实践?为什么?
//Hide control from user and stop control form being useable
oControl.Enabled = false;
oControl.Visible = false;
Run Code Online (Sandbox Code Playgroud)
要么
//Hide control from user and stop control form being useable
oControl.Visible = false;
Run Code Online (Sandbox Code Playgroud)
我一直在使用第一个案例并且在隐藏它时总是禁用控件,但我被告知这是错误的,我应该只是隐藏它.我似乎依稀记得在某个地方阅读如果你没有明确地让一个控件可以继续与用户交互.
任何启示都会被贬低.
Enabled 是指用户是否可以与控件交互(即控件是否显示为灰色)
Visible 是指是否显示控件(通常如果这是假的,控件根本不会呈现,但显然不是所有时间 - 请参阅本文的评论).
如果未呈现控件,则启用的属性的值将不会产生任何影响.
Enabled = false隐藏控件时是否需要设置取决于所讨论的控件,以及它提供的交互类型.对于许多控件(例如a Button或a CheckBox),设置Visible = false足以防止用户和控件之间的任何交互.
但是一些控件(似乎特别是那些提供快捷键属性的控件)仍然会在不可见时提供用户交互.例如在ToolStripMenuItem(与"老" MenuItem)仍然有自己的Click事件调用时按下不管快捷键,Visible是true或false.
在这些情况下,设置Enabled = false将阻止Click通过快捷键调用事件.从这个角度来看,我不建议Enabled = false在WinForms应用程序中隐藏控件时进行设置.
| 归档时间: |
|
| 查看次数: |
5379 次 |
| 最近记录: |