簡體   English   中英

從禁用的文本框中刪除矩形矩形

[英]Removing Focus Rectangle From Disabled Textbox

因此,我的情況是有一個帶有三個文本框和一個按鈕的窗體。 單擊按鈕將設置textBox1.Enabled = false,textBox2.Enabled = false和textBox3.Focus()。

在此處輸入圖片說明

我遇到的問題是,如果在用戶單擊按鈕時textBox1或textBox2都具有焦點,則該文本框將被禁用,但會保留灰色的焦點矩形版本。 就像表單沒有重新繪制禁用的文本框一樣。 請觀察所附的屏幕截圖,並注意第一個和第二個文本框之間的區別。

如何確保將焦點移至textBox3並擺脫掉textBox1周圍的焦點矩形?

我不確定這種行為是否是一個錯誤,但我找到了解決方法。 竅門是使用BorderStyle屬性。

private void button1_Click(object sender, EventArgs e)
{
    textBox3.Focus();
    var borderStyle = textBox1.BorderStyle;
    textBox1.BorderStyle = BorderStyle.None;
    textBox2.BorderStyle = BorderStyle.None;
    textBox1.Enabled = false;
    textBox2.Enabled = false;
    textBox1.BorderStyle = borderStyle;
    textBox2.BorderStyle = borderStyle;
    textBox1.Refresh();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM