- - PR -
TextBox.Enabled = false の時の前景色
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-03-03 15:35
皆様、こんにちは。
vb.NET2003で開発をしています。 TextBox.Enabled=Falseの時に、もともと黒であった前景色が 淡い色に変化してしまいますよね。 これを黒に変更できないでしょうか? どうかお教えください。 | ||||
|
投稿日時: 2004-03-03 15:43
おそらく無理です。
わたしはReadOnly属性をつけてタブオーダーからはずして対応していました (マウスで選択はできますが) | ||||
|
投稿日時: 2004-03-04 11:21
わたしもゆうじゅんさんと同じように難しい(できない)と思います。
それは、VB6.0以下でも同じだと思います。 わたしが、今までそういう仕様を言われ、 行った対応としましてはラベルとテキストボックスを綺麗に重ねるように配置し、 TextBox.Enabled=Falseの代わりに ↓ TextBox.Visible=False Label.Visible=True で、ラベルのCaptionに値を代入してました・・・(古典的ですが・・・) ↑ クライアントを見た目で騙したって感じでした。。泣 | ||||
|
投稿日時: 2004-03-04 12:03
ついでに「その時の色を指定できるようにして欲しい」とまで言われました。。。 | ||||
|
投稿日時: 2004-03-04 14:13
引用
-------------------------------------------------------------------------------- ついでに「その時の色を指定できるようにして欲しい」とまで言われました。。。 -------------------------------------------------------------------------------- どういう形で色を指定したいかによって対応も違ってくると思うんですが。。。 興味があったのでPGしてみました 結果下記の通りとなりました。 ============================================================================ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cd As New ColorDialog cd.Color = TextBox1.BackColor cd.AllowFullOpen = True cd.CustomColors = New Integer() {} If cd.ShowDialog() = DialogResult.OK Then '選択された色の取得 TextBox1.ForeColor = cd.Color End If End Sub ============================================================================ 上記で色の選択ができるようになるのでこういう形でよければ参考にしてもらえれば 幸いです・・・ [ メッセージ編集済み 編集者: くんちん 編集日時 2004-03-04 14:18 ] | ||||
|
投稿日時: 2004-03-04 16:32
ごめんなさい!過去の話です!! 96年頃、あるプロジェクトで「データの状態によって使用可、使用不可になるTextBox」があって、これをEnabledをtrue/falseにすることで対応しました。すると、「灰色に灰色で見難い。もっと見やすいようにして欲しい。ヒントの背景色でいいんじゃないの?」と注文がつきました。そこで、「それだったら『入力可能』『入力不可能』『必須入力』で文字色と背景色を変え、その色が指定できるようにしてしまおう」となりました。 その時は別のアプリケーションで色を指定させ、指定された色はレジストリに格納して使いました。 | ||||
|
投稿日時: 2004-03-04 17:01
Jittaさんすいません。。。
早とちりもイイとこでした・・・(汗) 質問かと思い、、ついつい。。。汗 問題がある訳でない事が分かりほっとしました。 こちらこそご迷惑おかけしましてすいません(泣) | ||||
|
投稿日時: 2004-03-04 18:14
初めて、投稿させて頂きます。
ゆうじゅんさんが言っている内容ではだめですか? 引用 ============= おそらく無理です。 わたしはReadOnly属性をつけてタブオーダーからはずして対応していました (マウスで選択はできますが) ================== これって、TextBoxのReadOnlyプロパティをFalseにして下さい。と言うことですよね。 あと、VB6以前の場合は PictureBoxをコンテナとして、その中にTextBoxを配置し コンテナであるPictureBoxのEnabledプロパティをFalseにする ことにより対応していました。 ただ、BackColorだけは自分で変更の必要がありましたが・・・・ |