
こんにちは。
VB.netを用いて簡単なプログラムを作っています。
メニュー画面を作っており、ボタンをFlatにして背景色は白にしています。
ログインするユーザーによって使うボタンを変更したいのですが、
Flatの特性なのか、Enable=falseであることがわかりにくいなと思い
ボタンの背景色をグレー等にできたらいいなと考えています。
プロパティなども確認しましたが、方法が分からず困っています。
もしご存知の方がいたらご教授願えませんでしょうか。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
Enabled = False となるタイミングで、BackColor を希望する色に変更してください。
もちろん、その逆もしかりです。
もしくは例えば下記のようなコードで、Enabledの状態に応じて色を勝手に変更してくれる専用のボタンを用意するかですね。
Imports System.ComponentModel
Public Class ButtonEx
Inherits Button
Private _enabledColor As Color = Color.Empty
''' <summary>
''' Enabled が False の時のコントロールのの背景色を取得または設定します。
''' </summary>
''' <returns>背景色を表す Color 値。</returns>
<Browsable(True)>
<Category("自作 表示")>
<Description("Enabled が False の時のコンポーネントの背景色です。")>
Public Property DisableBackColor As Color
''' <summary>
''' DisableBackColor が変更されたかどうか。
''' </summary>
''' <returns></returns>
Private Function ShouldSerializeDisableBackColor() As Boolean
If DisableBackColor = Color.Empty Then
Return False
End If
Return True
End Function
''' <summary>
''' DisableBackColor を既定値に戻す。
''' </summary>
Private Sub ResetDisableBackColor()
DisableBackColor = Color.Empty
End Sub
''' <summary>
''' コントロールの背景色を取得または設定します。
''' </summary>
''' <returns>背景色を表す Color 値。</returns>
Public Overloads Property BackColor As Color
Get
Return MyBase.BackColor
End Get
Set(value As Color)
If Enabled OrElse Not ShouldSerializeDisableBackColor() Then
MyBase.BackColor = value
End If
_enabledColor = value
End Set
End Property
''' <summary>
''' コントロールがユーザーとの対話に応答できるかどうかを示す値を取得または設定します。
''' </summary>
''' <returns>コントロールがユーザーとの対話に応答できる場合は true。それ以外の場合は false。既定値は、true です。</returns>
Public Overloads Property Enabled As Boolean
Get
Return MyBase.Enabled
End Get
Set(value As Boolean)
MyBase.Enabled = value
If value Then
MyBase.BackColor = _enabledColor
Return
End If
If ShouldSerializeDisableBackColor() Then
MyBase.BackColor = DisableBackColor
End If
End Set
End Property
End Class
naktak様
ご回答いただきありがとうございます。
やはり専用のボタンを作成する必要があるのですね。。
コントロールを自作することになれていないので
頂いたPGを参考に、作成しようと思います。
ご丁寧に対応頂きありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS css初心者 フレックスボックスの適用を一部適用除外したいですが方法が分かりません。 2 2023/11/27 00:13
- Photoshop(フォトショップ) Adobe インデザインに詳しい方至急ご回答お願いします。 PNGの画像データを Photoshop 2 2024/01/05 19:23
- Word(ワード) ワード PDF化した際、背景の色が変わる 2 2024/06/22 11:12
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- その他(パソコン・周辺機器) PCのテキスト、背景設定を真っ黒にしてしまった 2 2023/01/07 07:35
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- 画像編集・動画編集・音楽編集 白い被写体に対して白い背景の画像の背景を切り抜きたいです。 例えばですが、写真のような白い被写体に対 5 2024/06/25 20:10
- PDF 背景色を消して白地に黒でモノクロ印刷する方法 2 2023/11/11 16:14
- Visual Basic(VBA) Edge操作のアプリが例外発生に 1 2023/03/12 21:22
- Photoshop(フォトショップ) MacでPhotoshopに使い方 教えて! 2 2023/07/08 08:24
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
VBAでCOPYを繰り返すと、処理が途中でアイドルする原因はなんでしょうか
Visual Basic(VBA)
-
VBの色を変えるにはどうしたらいいですか?
Visual Basic(VBA)
-
テキストファイルのフィールド行のみ削除したい
Visual Basic(VBA)
-
-
4
ボタンの枠線の様なものを消したい
Visual Basic(VBA)
-
5
[vb.net] 起動したFrom2を閉じ、呼出元Form1の指定コントロールにカーソルをセット
Visual Basic(VBA)
-
6
テキストファイルの1行目のみを削除したい
その他(プログラミング・Web制作)
-
7
EXCELの散布図で日付が1900年になってしまう
Excel(エクセル)
-
8
VBAコードのインデント表示
Visual Basic(VBA)
-
9
IF文、条件分岐の整理方法
Visual Basic(VBA)
-
10
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
11
Web画面の文字をVB6で取得したい
Visual Basic(VBA)
-
12
Web初心者です。 簡易的なWebページを作成し
その他(プログラミング・Web制作)
-
13
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
14
東横イン空室チェック"のSEO対策について"
SEO
-
15
VBSでテキストファイルの2行目から最終行までを別のファイルに出力
その他(プログラミング・Web制作)
-
16
エクセルでCtrl+Tでテーブルの作成ができますが、これがピボットテーブルですか?
Excel(エクセル)
-
17
Excel VBA 選択範囲の罫線色の変更プロージャの動作速度の改善について
Visual Basic(VBA)
-
18
10進数からN進数に変換するプログラミング(C言語)
C言語・C++・C#
-
19
プログラマーは誘惑にさらされる人生?
その他(プログラミング・Web制作)
-
20
HTMLでこの画像を表示したいです 教えてください。
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBAで多数のプログラムを一つの...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
Excel VBA Application.caller...
-
コマンドボタンやイメージにマ...
-
VBAのボタンの位置が変わって困...
-
VB.net でトグルボタンを実現し...
-
[VB.net] ボタン(Flat)のEnable...
-
excel シート上のボタンが動かない
-
ASP.Net ラベルの内容をすぐに...
-
コマンドボタンの長押し
-
プロシージャからイベントをコ...
-
SPREADコマンドボタン発生イベ...
-
VB.NETでマウスクリックイベン...
-
リストボックス 何も洗濯され...
-
ボタンをマウスで押し続けたと...
-
他のアプリケーションとの連携
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
ボタンをマウスで押し続けたと...
-
コマンドボタンやイメージにマ...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
[VB.net] ボタン(Flat)のEnable...
-
VB.net でトグルボタンを実現し...
-
閉じると「+」になり開くと「-...
-
Excel マクロ 閉じるボタン
-
C#プログラムで、ボタンをショ...
-
VBAで多数のプログラムを一つの...
-
ASP.Net ラベルの内容をすぐに...
-
TextBoxでEnterキーを押すと、...
-
アイコンとボタンの違い
おすすめ情報