在我的C#Winforms應用程序中,我有幾個使用熱鍵設置的標籤控件(例如:&名稱)。我們正在使用JAWS屏幕閱讀器。 Label.Text總是給出「&名稱」。有沒有辦法讓標籤文本沒有熱鍵('&')?我不能用String.empty替換'&',因爲它中沒有實際的'&'所需的標籤。獲取C#中沒有熱鍵('&')的標籤文本
0
A
回答
0
你能舉一個'&'爲必填項的例子嗎?
TrimStart將刪除字符組成的字符串https://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx
0
的開始,因爲我在以前的評論中提及,這是一個輔助的問題。以下自定義Label
公開新的string
屬性AccessibleValue
可以設置爲AccessibleObject將作爲其值返回的文本。
我不知道這是否適用於JAWS屏幕閱讀器,但在使用Inspect工具時確實顯示了自定義值。
public class AccessibleLabel : Label
{
protected override AccessibleObject CreateAccessibilityInstance()
{
return new LabelAccessibleObject(this);
}
public string AccessibleValue { get; set; }
private class LabelAccessibleObject : ControlAccessibleObject
{
private AccessibleLabel myowner;
public LabelAccessibleObject(AccessibleLabel owner)
: base(owner)
{
this.myowner = owner;
}
public override AccessibleRole Role
{
get
{
AccessibleRole accessibleRole = base.Owner.AccessibleRole;
if (accessibleRole != AccessibleRole.Default)
{
return accessibleRole;
}
return AccessibleRole.StaticText;
}
}
public override string Value
{
get
{
if (string.IsNullOrEmpty(myowner.AccessibleValue))
{
return base.Value;
}
else
{
return myowner.AccessibleValue;
}
}
set
{
base.Value = value;
}
}
}
}
0
簡單的方法是使用AccessibleObject.Name財產。
例如:String text = label1.AccessibleObject.Name;
相關問題
- 1. 如何從非結構化文本塊中獲取熱門標籤/關鍵字?
- 2. 獲取沒有標籤標籤包裝的國際化標籤文本
- 3. 「標籤」的Xcode熱鍵
- 4. 獲取標籤中文本的座標
- 5. C#獲取標籤並更改文本
- 6. DOM文檔 - 如何獲取標籤內的文本沒有內標籤
- 7. 如何從活動標籤中獲取後臺腳本中的選定文本(熱鍵後)?
- 8. Python沒有獲取html標籤之間的文本
- 9. Python BeautifulSoup webcrawling:獲取沒有鏈接或類標籤的文本
- 10. 獲取標籤文本extjs
- 11. 獲取文本body標籤
- 12. 獲取標籤文本
- 13. Objective-C HTML解析。獲取標籤之間的所有文本
- 14. 從tkinter的標籤中獲取文本
- 15. 獲取文本中的錨標籤
- 16. 使用C#獲取HTML文檔中文本的標籤
- 17. python從沒有html標籤的文本文件中提取URL
- 18. 從Div標籤中獲取文本
- 19. 如何獲取C#中H1標籤之間的HTML文本
- 20. 使用C#獲取靜態方法中的標籤文本?
- 21. 如何從沒有特定標籤的標籤中提取文本?
- 22. vb.net按鈕帶有&熱鍵的文本
- 23. C#獲取文本,替換HTML代碼的span標籤中的文本
- 24. 獲取標籤內文本的值Javascript
- 25. ASP.NET獲取標籤的原始文本
- 26. 用jQuery獲取標籤內的文本
- 27. 從CheckedListBox獲取CheckBox的標籤文本
- 28. 爲什麼我沒有獲取XML標籤中的文本? - python elementtree
- 29. 使用AngularUI獲取熱鍵
- 30. 獲取從數據庫中選擇標籤文本在C#
而這些標籤應該有一個雙&&。提示正則表達式。 – Steve
可能的重複[如何從字符串中刪除加速字符?](http://stackoverflow.com/questions/3700612/how-can-i-remove-accelerator-characters-from-a-string) –
這是可訪問性問題。我假設根據你的描述,屏幕閱讀器正在讀出&字符。讀者所呈現的是在自己的控制之下。 WinForms控件支持傳統的Accessibility.IAccessible模型。您可以嘗試創建一個自定義標籤,該標籤反過來會提供一個自定義ControlAccessibleObject,其中您可以覆蓋「Value」屬性以使文本不帶&符。 – TnTinMn