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;

 

posted @ 2019-04-11 14:54  唐宏昌  阅读(1942)  评论(0编辑  收藏  举报