C#で、 2つのテキスト ボックスを持つ LAN メッセンジャー用のフォーム ウィンドウを作成しています。特定のテキストボックスを読み取り専用として作成する必要がありますが、それに送信されたテキストは灰色で表示され、望ましくありません。防止できる方法はありますか?
5 に答える
Textbox を使用して、ReadOnly を true に、ForeColor を Color.Black に、BackColor を Color.White に設定します。このようにして、テキストを選択して Ctrl-C でコピーすることができます。
KeyPress イベントのラベルまたはテキスト ボックスに置き換えることができ、handled を true に設定します。
void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Textbox ForeColorプロパティを設定することで、テキストの色を設定できます。
例えば:
myTextBox.ForeColor = Color.Black
読み取り専用のときにテキストボックスを白(またはウィンドウ)に保つには、BackColorプロパティを明示的にウィンドウに設定する必要があります。これを行うには、最初にBackColorを他の値に設定してから、Windowに戻す必要があります。backcolorプロパティは太字になり、デフォルト値ではなくなったことを示します。
灰色は、テキスト ボックスの読み取り専用状態を示します。これは、テキストボックスが実際に無効になっていることを発見するためにテキストを入力する必要がないユーザーへの視覚的な表示です。
読み取り専用の動作のみが必要な場合は、代わりにラベルを使用することをお勧めします。