快捷搜索:  汽车  科技

winform怎么设置计算器归零(W09区分同类控件快速切换焦点)

winform怎么设置计算器归零(W09区分同类控件快速切换焦点)(2)AccessText元素:标签控件内置了一个AccessText UI元素,可以直接设定热键到目标控件;(1)Target:通过Binding为Label控件设置用快捷键获取焦点的目标控件,目标控件用ElementName指定,所以目标控件必须命名且在名字改变后在绑定中同时改变。快捷键是前面加下划线_的字母(该字母称为“控制项字元”),可以不是标签字符串的第一个字母,运行时,用户用Alt 字母将焦点快速切换到目标控件。一是Label的内容属性使用的是Content属性而不是像TextBox和TextBlock一样的Text属性。所以Label内部可以放置任意类型的控件而不仅仅是文本。也就是说,Label的内容可以是图像或文本与图像的组合,当然这个内容也可以是一个字符串,如果内容只是一个字符串string,Label实际上会在内部创建一个TextBlock并在其中显示您的string。

Label标签

1.概述

winform怎么设置计算器归零(W09区分同类控件快速切换焦点)(1)

Label含义为标签,该控件通常在用户界面 (UI) 中提供信息,在大多数情况下,标签控件就像其名称所示:它充当另一控件的文本标签,为另一控件显示一段文本信息。这就是它的主要目的。

但是,Label控件还有两个值得注意的地方:

一是Label的内容属性使用的是Content属性而不是像TextBox和TextBlock一样的Text属性。所以Label内部可以放置任意类型的控件而不仅仅是文本。也就是说,Label的内容可以是图像或文本与图像的组合,当然这个内容也可以是一个字符串,如果内容只是一个字符串string,Label实际上会在内部创建一个TextBlock并在其中显示您的string。

二是Label可以为其它控件设置获取焦点的快捷键。

2.设置快捷键的两个重要属性

(1)Target:通过Binding为Label控件设置用快捷键获取焦点的目标控件,目标控件用ElementName指定,所以目标控件必须命名且在名字改变后在绑定中同时改变。快捷键是前面加下划线_的字母该字母称为“控制项字元”),可以不是标签字符串的第一个字母,运行时,用户用Alt 字母将焦点快速切换到目标控件。

(2)AccessText元素:标签控件内置了一个AccessText UI元素,可以直接设定热键到目标控件;

3.用法示例

(1)Label 为TextBox等其它控件获得焦点提供快捷键功能和可视化支持

实例1:创建一个 Label和一个TextBox,Label为TextBox提供快捷键支持。

<Label Target="{Binding ElementName=tb1}">_Name</Label>

<TextBox x:Name="tb1"/>

运行时,当用户同时按下Alt键和字母键N(称为“控制项字元”),名为tb1的TextBox将获得焦点。

实例2:

<StackPanel Margin="10">

<Label Content="_Name:" Target="{Binding ElementName=txtName}" />

<TextBox Name="txtName" />

<Label Content="_Mail:" Target="{Binding ElementName=txtMail}" />

<TextBox Name="txtMail" />

</StackPanel>

winform怎么设置计算器归零(W09区分同类控件快速切换焦点)(2)

按下Alt键时会显示如截图所示示例对话框。尝试运行它,按住[Alt]键,然后按N和M.您将看到两个文本框之间的焦点移动方式。

(2)示例:为标签添加文本换行

Label 控件本身不支持文本换行。如果您需要一个可以多次换行的标签,可以嵌套一个支持文本换行的元素,例如:TextBlock,并将该元素放在标签内,这样,就可以创建一个可以多次文本换行的标签。

<Label >

<TextBlock TextWrapping="WrapWithOverflow">

标签里面如果放了一大段文字,什么时候可以换行呢?答案就是在Lable中包含一个可以换行的控件。

</TextBlock>

</Label>

当窗口缩放时,标签内的文本会自动换行

(3)为标签添加访问键和文本换行

如果您需要一个具有访问键(助记键)的 Label,则可以使用 Label 中的 AccessText 元素。

Label、Button、RadioButton、CheckBox、MenuItem、TabItem、Expander 和 GroupBox 等控件具有默认的控件模板。这些模板包含一个 ContentPresenter。您可以为 ContentPresenter 设置的属性之一是 RecognizesAccessKey="true",您可以使用该属性为控件指定访问键。

下面的示例演示如何创建一个具有访问键并支持文本换行的 Label。为了实现文本换行,本示例设置了 TextWrapping 属性并使用下划线字符指定访问键。(紧跟下划线字符后面的字符就是访问键。)

<StackPanel>

<TextBox Name="tb1" Width="50" Height="20"/>

<Label HorizontalAlignment="Left" Target="{Binding ElementName=tb1}">

<AccessText TextWrapping="WrapWithOverflow">

_Another long piece of text that requires text wrapping goes here.

</AccessText>

</Label>

</StackPanel>

运行时,按下Alt A文本框可获得焦点

(4)在Label控件中包含图像和文本

<StackPanel Margin="10">

<Label Target="{Binding ElementName=txtName}">

<StackPanel Orientation="Horizontal">

<Image Source="http://cdn1.iconfinder.com/data/icons/fatcow/16/bullet_green.png" />

<AccessText Text="_Name:" />

</StackPanel>

</Label>

<TextBox Name="txtName" />

<Label Target="{Binding ElementName=txtMail}">

<StackPanel Orientation="Horizontal">

<Image Source="http://cdn1.iconfinder.com/data/icons/fatcow/16/bullet_blue.png" />

<AccessText Text="_Mail:" />

</StackPanel>

</Label>

<TextBox Name="txtMail" />

</StackPanel>

winform怎么设置计算器归零(W09区分同类控件快速切换焦点)(3)

在AccessText控件中,它允许我们仍然使用标签的访问键。这两个控件都在水平StackPanel中,因为Label,就像任何其他ContentControl派生控件一样,只能托管一个直接子控件。

猜您喜欢: