按Tab鍵時按鈕被聚焦時,一個矩形出現在 上。即使該按鈕的TabStop屬性設置爲false,當用鼠標單擊該按鈕時,該矩形也會出現。是否可以通過 停止出現矩形?請幫忙。問候。按鈕(.Net 2008,Framework 3.5)中的問題
3
A
回答
7
出現在您按鈕上的矩形稱爲「焦點矩形」。它指示表單上的哪個控件當前具有輸入焦點。
對於您遇到的問題的解釋是,即使該按鈕不是製表符,它仍然會變爲,如果用鼠標點擊該選項,它仍會變爲,因此焦點矩形仍會出現。 TabStop
屬性僅管理該控件是否可以通過標籤鍵獲得焦點,而不管用戶是否可以選擇該焦點。
焦點矩形對向用戶指示哪個控件具有焦點很有用。按輸入或空格鍵按鈕被選中將導致按鈕被「推」。沒有焦點矩形,鍵盤用戶很難瀏覽你的應用程序。
如果您只是想防止按鈕獲得焦點(從而防止焦點矩形出現),您可以將其Enabled
屬性設置爲False
。當然,這也會阻止用戶點擊按鈕。
如果您希望該按鈕保持可點擊的狀態,但在焦點位置防止繪製矩形(以犧牲程序的可用性爲代價)時,您必須創建自己的自定義控件,該控件源自現有的Button
控制。在您的控制中,您可以覆蓋ShowFocusCues
property(True
默認爲Button
控件)以返回False
。例如:
public class NoFocusButton : Button
{
protected override bool ShowFocusCues
{
get
{
return false;
}
}
}
或者,您可以在派生按鈕控件中覆蓋OnPaint
事件。這將允許您完全控制您的按鈕的繪製方式(包括移除焦點矩形),其中帶有與獎勵一樣多的風險。有關此路線的更多信息,請參見this answer to another question。
0
class CustomButton : System.Windows.Forms.Button { private bool _DisplayFocusCues = true; protected override bool ShowFocusCues { get { return _DisplayFocusCues; } } public bool DisplayFocusCues { get { return _DisplayFocusCues; } set { _DisplayFocusCues = value; } } }
使用此類,您可以在設計時設置DisplayFocusCues。
相關問題
- 1. ajax更新.net Framework 2.0到VS 2008的.net framework 3.5的問題
- 2. .NET Framework 3.5 EntityCollection OrderBy問題
- 3. .NET Framework 3.5的反射問題
- 4. SqlDependency問題,Visual C++ .Net 3.5,SQL Server 2008
- 5. 複製Excel中排在Visual Basic .NET(VS 2008,.NET Framework 3.5中)
- 6. .NET Framework 3.5中的OleDbPermission
- 7. .Net Framework問題
- 8. SQL Server 2008和.NET Framework 4
- 9. 性能從.net 2003 Framework 1.1到.net 2008 framework 3.5遷移的相關功能?
- 10. 使用.Net 2008應用程序自動安裝.NET Framework 3.5 SP1
- 11. 從.NET 2.0升級到.NET 3.5問題
- 12. .NET Framework 3.5上的NServiceBus 2.0.0.1219
- 13. 用於.Net Framework 3.5的SSCLI
- 14. .NET Framework 3.5的位置
- 15. 如何居中按鈕(.NET Compact Framework)
- 16. .NET Compact Framework的3.5序列化問題與派生類
- 17. 試圖從Framework 4.0更改爲3.5 .NET的問題
- 18. 用於Window Server 2008 R2的.NET Framework 3.5 SP1
- 19. 。安裝我的VB 2008 Project需要.Net Framework 3.5嗎?
- 20. Compact Framework 3.5上的System.Data.SQLite問題
- 21. 離線安裝.NET Framework 3.5
- 22. 不能安裝.NET Framework 3.5
- 23. FlashPlayer For .net Compact Framework 3.5
- 24. asp.net c#.net framework 2.0 and 3.5
- 25. ASP.NET - 學習.NET Framework 3.0/3.5
- 26. .net framework 3.5和windows 2000 sp4
- 27. 無法安裝.NET Framework 3.5
- 28. X509Certificate和.NET Compact Framework 3.5
- 29. .net 3.5部署問題
- 30. .net 3.5部署問題
非常感謝。根據你說的我發佈了我的解決方案。 – priyamtheone 2010-11-16 14:45:52