簡體   English   中英

C# 中的只讀文本框

[英]Read-only textbox in C#

C#中,我正在為帶有兩個文本框的 LAN Messenger 創建一個表單 window。 我需要創建一個只讀的特定文本框,但提交給它的任何文本都顯示為灰色,這是不可取的。 有什么方法可以預防嗎?

我會使用文本框並將 ReadOnly 設置為 true,將 ForeColor 設置為 Color.Black,並將 BackColor 設置為 Color.White。 這樣你仍然可以 select 文本並使用 Ctrl-C 復制它。

您可以將其替換為 label 或 KeyPress 事件中的文本框,設置為 true:

void  textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = true;
}

您可以通過設置Textbox ForeColor屬性來設置文本的顏色。

例如:

myTextBox.ForeColor = 顏色.黑色

為了使文本框在只讀狀態下保持白色(或窗口),您必須將 BackColor 屬性顯式設置為 Window。 為此,您必須先將 BackColor 設置為其他值,然后再設置回 Window。 backcolor 屬性應該變為粗體,表明它不再是默認值。

灰色表示文本框的 ReadOnly state。 它是對不需要輸入文本即可發現文本框實際上已禁用的用戶的視覺指示。

如果您只需要只讀行為,最好使用 Label 代替。

暫無
暫無

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

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