2012-01-26 18 views
-5

フォームに4つのTextBoxコントロールがあります - すべて4つは同じプロパティと同じイベントハンドラを持っています。 4番目のコントロールでは、異なるイベントハンドラのみがTextChangedになります。私はそれらに1つの問題があります。すべてのテキストボックスをReadOnlyに設定すると、4つすべてが読み取り専用になりますが、3つは通常の白い背景を持ち、4番目は灰色の背景を持っています。私はこのバグを引き起こす可能性のある他のコードはありません - なぜこれが起こる可能性があるのか​​、誰かがそれを経験したのか? はここで第四は異なるTextChangedイベントハンドラを持っていることである4つのテキストボックス間C#TextBox readonlyは無効のように振る舞います

this.tbPercentage.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); 
this.tbPercentage.Location = new System.Drawing.Point(99, 151); 
this.tbPercentage.MaxLength = 3; 
this.tbPercentage.Name = "tbPercentage"; 
this.tbPercentage.Size = new System.Drawing.Size(39, 22); 
this.tbPercentage.TabIndex = 1; 
this.tbPercentage.TextChanged += new System.EventHandler(this.tbPercentage_TextChanged); 
this.tbPercentage.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MyTextbox_KeyDown); 
this.tbPercentage.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MyTextbox_KeyPress); 

差のみ1つのテキストボックスのコードです。他の3つのイベントハンドラと同じものを置くと、読み込み専用に設定されている場合でもグレーになります。私はちょうどそれらの4つすべてを使用して読むことを設定しました:

tbPercentage.ReadOnly = true; 

他のコードはありません。

+3

コードを投稿する必要があります。 –

+1

WPF? Winforms? ASP?シルバーライト?プラットフォームは違いを生みます。私たちは知る必要がある。 –

+1

ここではさらに進んでいなければなりません。コードの一部を投稿できますか? – climbage

答えて

1

テキストボックスを削除し、古いものと同じプロパティと同じイベントハンドラを持つ新しいものを作成するだけで機能しました。 デザイナで生成されたコードが、1つのバグを持つ1人のユーザーコントロールの原因で正しく生成されなかった可能性があります。

1

私はここで暗闇の中で撮影し、あなたがwinformsを使用していると推測します。

また、私は、白いままのテキストボックスの背景色を変更し、読み取り専用モードでグレーアウトしたものでは変更しなかったと推測します。

+0

いいえ - すべての4の同じコード... – n1tr0

+0

フォームのloadのInitializeComponentコードを確認してください。背景色が設定されている場合、デフォルトの動作には従いません。 – Brian

関連する問題