- PR -

TextBox.Enabled = false の時の前景色

投稿者投稿内容
ろぴ
会議室デビュー日: 2004/02/15
投稿数: 4
投稿日時: 2004-03-03 15:35
皆様、こんにちは。
vb.NET2003で開発をしています。
TextBox.Enabled=Falseの時に、もともと黒であった前景色が
淡い色に変化してしまいますよね。
これを黒に変更できないでしょうか?
どうかお教えください。
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-03-03 15:43
おそらく無理です。
わたしはReadOnly属性をつけてタブオーダーからはずして対応していました
(マウスで選択はできますが)
くんちん
常連さん
会議室デビュー日: 2002/10/07
投稿数: 46
投稿日時: 2004-03-04 11:21
わたしもゆうじゅんさんと同じように難しい(できない)と思います。
それは、VB6.0以下でも同じだと思います。
わたしが、今までそういう仕様を言われ、
行った対応としましてはラベルとテキストボックスを綺麗に重ねるように配置し、
TextBox.Enabled=Falseの代わりに

TextBox.Visible=False
Label.Visible=True
で、ラベルのCaptionに値を代入してました・・・(古典的ですが・・・)

クライアントを見た目で騙したって感じでした。。泣
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-04 12:03
引用:

くんちんさんの書き込み (2004-03-04 11:21) より:

わたしが、今までそういう仕様を言われ、
行った対応としましてはラベルとテキストボックスを綺麗に重ねるように配置し、
TextBox.Enabled=Falseの代わりに

TextBox.Visible=False
Label.Visible=True
で、ラベルのCaptionに値を代入してました・・・(古典的ですが・・・)


ついでに「その時の色を指定できるようにして欲しい」とまで言われました。。。
くんちん
常連さん
会議室デビュー日: 2002/10/07
投稿数: 46
投稿日時: 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 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-04 16:32
引用:

くんちんさんの書き込み (2004-03-04 14:13) より:

どういう形で色を指定したいかによって対応も違ってくると思うんですが。。。

興味があったのでPGしてみました


 ごめんなさい!過去の話です!!

 96年頃、あるプロジェクトで「データの状態によって使用可、使用不可になるTextBox」があって、これをEnabledをtrue/falseにすることで対応しました。すると、「灰色に灰色で見難い。もっと見やすいようにして欲しい。ヒントの背景色でいいんじゃないの?」と注文がつきました。そこで、「それだったら『入力可能』『入力不可能』『必須入力』で文字色と背景色を変え、その色が指定できるようにしてしまおう」となりました。
 その時は別のアプリケーションで色を指定させ、指定された色はレジストリに格納して使いました。
くんちん
常連さん
会議室デビュー日: 2002/10/07
投稿数: 46
投稿日時: 2004-03-04 17:01
Jittaさんすいません。。。
早とちりもイイとこでした・・・(汗)
質問かと思い、、ついつい。。。汗
問題がある訳でない事が分かりほっとしました。
こちらこそご迷惑おかけしましてすいません(泣)
かなみとと
会議室デビュー日: 2003/04/21
投稿数: 1
投稿日時: 2004-03-04 18:14
初めて、投稿させて頂きます。

ゆうじゅんさんが言っている内容ではだめですか?

引用 =============
おそらく無理です。
わたしはReadOnly属性をつけてタブオーダーからはずして対応していました
(マウスで選択はできますが)
==================

これって、TextBoxのReadOnlyプロパティをFalseにして下さい。と言うことですよね。

あと、VB6以前の場合は
PictureBoxをコンテナとして、その中にTextBoxを配置し
コンテナであるPictureBoxのEnabledプロパティをFalseにする
ことにより対応していました。
ただ、BackColorだけは自分で変更の必要がありましたが・・・・

スキルアップ/キャリアアップ(JOB@IT)