黑马程序员技术交流社区

标题: 窗体控件label和textblock区别 [打印本页]

作者: 芦路    时间: 2013-10-28 16:58
标题: 窗体控件label和textblock区别
本帖最后由 芦路 于 2013-10-28 23:50 编辑

它们都是显示文本的 有什么区别吗?

作者: Goes_By    时间: 2013-10-28 17:56
TextBlock继承自System.Windows.FrameworkElement
Label继承自System.Windows.ContentControl
所以Label比TextBlock高级一点,Label内可以放置任意对象,而TextBlock只能显示文本。

作者: 许庭洲    时间: 2013-10-28 20:31
label 标签 -- 提示表单的含义(标签说明)
label标签是成对出现的,以<label>开始,以</label>结束
两个label之间的内容,是要显示的文字
属性:
Common -- 一般属性
for -- 与此label描述的表单的id
accesskey -- 表单的快捷键访问方式
说明:
可以使用label标签和for属性连接一个表单元素
标签可以被某些可视化浏览器渲染成可以点击的,点击后光标会显示在关联的表单元素内.
示例
<form id="baiduform"action="http://www.baidu.com"method="post">
       <label for="contactus">联系我们</label>
       <textarea cols="50" rows="10"id="contactus">好好学习</textarea>
</form>




作者: 马晓平    时间: 2013-10-28 21:06
TextBlock直接继承于FrameworkElement,而Label继承于ContentControl
Label可以做这样的事情:
1.可以定义一个控件模板(通过Template属性)

2.可以显示出string以外的其他信息(通过Content属性)

3.为Label内容添加一个DataItemplate(通过ContentTemplate属性)

4.做一些FrameworkElement元素不能做的事情

加载Label时比TextBlock需要耗费更多的时间,不仅仅是Label相对于直接继承于FrameElement的TextBlock有了更多层次的继承,它的visual tree更加复杂。
TextBlock的visual tree不包含任何子元素,而Label却复杂的多。它有一个border属性,最后通过一个TextBlock来显示内容。这样看来label其实就是一个个性化的TextBlock。

Label和TextBlock都是System.Windows.Controls命名空间下的类,但二者的父类并不相同。TextBlock继承自System.Windows.FrameworkElement,从这个角度讲,TextBlock不能称之为“控件”(因为它没有继承Control类,关于Control类
作者: 追溯客    时间: 2013-10-29 07:40

黑马有你更精彩!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2