web-dev-qa-db-ja.com

TextBoxを編集不可にする

フォーム上のいくつかのTextBoxesを編集不可にしたいが、textをクリア(グレーではなく黒)にしたいので、使用したくない

myTextBox.Enabled = false;

どういうわけか、私はそれを無効にしたいが、グレー以外のフォアカラーを使用したい。

誰にも手がかりがありますか?

60

TextBox.ReadOnly プロパティを使用する

TextBox.ReadOnly = true;

グレー以外の背景の場合、 TextBox.BackColor プロパティをSystemColors.Window Colorに変更できます

textBox.BackColor = System.Drawing.SystemColors.Window;

このプロパティをtrueに設定すると、ユーザーは実行時にコントロールの内容を変更できません。このプロパティをtrueに設定しても、コードでTextプロパティの値を設定できます。 Enabledプロパティでコントロールを無効にする代わりにこの機能を使用して、コンテンツのコピーとツールチップの表示を許可できます。

100
PaRiMaL RaJ

TextBoxで ReadOnly プロパティを使用します。

myTextBox.ReadOnly = true;

ただし、覚えておいてください: TextBoxBase.ReadOnly Property

このプロパティをtrueに設定すると、コントロールの内容はユーザーが実行時に変更できません。このプロパティをtrueに設定すると、コード内のTextプロパティの値をまだ設定できます。 Enabledプロパティでコントロールを無効にする代わりにこの機能を使用して、コンテンツのコピーとツールチップの表示を許可できます。

15
Habib

以下を使用して試すことができます。

textBox.ReadOnly = true;
textBox.BackColor = System.Drawing.SystemColors.Window;

最後の行は、灰色でない背景色が必要な場合にのみ必要です。

5
Alina B.

TextBoxを編集できないようにする場合は、 ReadOnly にする必要があります。

3
Marius Bancila

XAMLで設定するだけです:

        <TextBox IsReadOnly="True" Style="{x:Null}" />

そのため、テキストはグレー表示されません。

2
Jan Abramek

XAMLを使用してそれを行うには、プロパティisReadOnlytrueに設定します。

1
A. Wolf

これはGridView用です。

 grid.Rows[0].Cells[1].ReadOnly = true;