C#服务器控件 IsReadOnly 和 Visibility,IsEnable 的区别
IsReadOnly 适用于“输入、输出”类控件,比如TextBox类, 可以当做文本输入,也可以通过后台代码进行输出。
设置 IsReadOnly(只读) = true 后,该控件只允许输出,不允许输入。但是该控件仍然可以获取焦点。
IsEnable 适用于winform、WPF的绝大部分控件。
设置后 IsEnable = false 后,该控件为“不可用”状态,继承样式中的不可用样式,如文本框边框变灰。并且无法获得焦点。
Visibility 是可见性属性,也适用于绝大部分控件。
1、在 Winform 中
用作Visible 有 true false 两个值
当 Visible="false" 服务器控件并显示,并且页面呈现的HTML标记语言中也不存在
CSS 中 style="visibility: hidden;" 和 js 中的 control.style.visibility="hidde"; 只是把当前控检的标记标识为不显示,但在页面呈现的HTML标记语言中是存在着的
在使用服务器控件并不显示它并且需要用 JS 对这个控件进行操作时用 style="visibility: hidden;" 设置
2、在 WPF 中
Visibility,有Visible, HIdden,Collapsed 三个值,分别是可见、不可见、响应式隐藏。
Visible | 元素在窗体中正常显示 |
Collaspsed | 元素不显示,也不占用空间 |
Hidden | 元素不显示,但是任然为它保留空间 |
Visibility 类型由 Visible 转为 Collapsed,显示后隐藏 要重新 new 一个
//原属性设置 TextBlock1.Visibility = Visibility.Visible;
// 1、触发后执行 ,失效
TextBlock1.Visibility = Visibility.Collapsed;
// 2、重新 new 一个,正常
TextBlock1.Visibility = new Visibility();
TextBlock1.Visibility = Visibility.Collapsed;