アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB2008で定数に色の設定をしたいです。(初心者)

VB2008初心者です。
定数に色の設定をしたいのですがなかなか上手く設定出来ません。

変数に設定は出来るのですが、
Dim COLOR As System.Drawing.Color = COLOR.Red

定数にした場合エラーになります。
Public Const COLOR As System.Drawing.Color = COLOR.AliceBlue


色々他も試してみたのですが・・初歩的な質問で申し訳ありません。

設定は「System.Drawing.Color」でなくても良いのですが、
どなかたかご教授頂きたく宜しくお願い致します。

A 回答 (3件)

私の環境では


「定数は、class、structure、または array 型ではなく、組み込み型または列挙型でなければなりません。」
とエラーが出ます。

Colorの定義は
Public Structure Color
です。

AliceBlueはColor構造体に
Public Shared ReadOnly Property AliceBlue() As System.Drawing.Color
として定義されています。


エラー内容の通り、「元のAliceBlueが定数でない」ので、「定数宣言には利用できません」ということです。


定数とは異なりますが、AliceBlueのように読み取り専用プロパティとして利用すると、定数宣言と似たような事を行えます。
Public ReadOnly Property COLOR() As System.Drawing.Color
  Get
    Return COLOR.AliceBlue
  End Get
End Property

この回答への補足

1050YEN様

ご連絡有難うございます。

私の環境でもエラーの内容は
「定数は、class、structure、または array 型ではなく、組み込み型または列挙型でなければなりません。」
でした。

クラスのプロパティを使用する方法も良いですね!

現在、グローバルな変数や定数をモジュールファイルにまとめて記載していますので
出来れば定数に設定したのですが、もう少し粘ってみて無理そうでしたらプロパティでの設定してみようと思います。

VB6の時は出来たので多分出来ないことは無いと思うのですが・・・
.netの利用が始めてなので??な事ばかりです。。

p.s
変数名のご指摘有難うございました!

補足日時:2010/05/13 14:47
    • good
    • 0
この回答へのお礼

1050YEN様

ご連絡有難うございます。

私の環境でもエラーの内容は
「定数は、class、structure、または array 型ではなく、組み込み型または列挙型でなければなりません。」
でした。

クラスのプロパティを使用する方法も良いですね!

現在、グローバルな変数や定数をモジュールファイルにまとめて記載していますので
出来れば定数に設定したのですが、もう少し粘ってみて無理そうでしたらプロパティでの設定してみようと思います。

VB6の時は出来たので多分出来ないことは無いと思うのですが・・・
.netの利用が始めてなので??な事ばかりです。。

p.s
変数名のご指摘有難うございました!

お礼日時:2010/05/13 14:48

>VB6の時は出来たので多分出来ないことは無いと思うのですが・・・


いいえ、できません。

VB6の色は定数です。

列挙対
VBRUN.ColorConstants
定数
Const vbRed = 255(&HFF)

VB6と.NETでは、色の宣言が異なります。

それと.NETの標準モジュールでもPropertyは利用できますよ。
    • good
    • 0
この回答へのお礼

いいえ、できません。 VB6の色は定数です。
列挙対VBRUN.ColorConstants
定数Const vbRed = 255(&HFF) VB6と.NETでは、色の宣言が異なります...



言葉足らずでスミマセン・・
VB6の時は定数に色の設定を出来たので.Netでもどんな設定方法でも良いので
出来ないかな・・と言う意味でしたm(_)m (型はSystem.Drawing.Colorで無くても)
やはり無理ですよね・・

出来ない!とわかれば諦めも付くので助かりました。
プロパティでの設定をしようと思います!
お手数をお掛けしてスミマセンでした。

有難うございました!

お礼日時:2010/05/13 17:06

Return COLOR.AliceBlue


↓この方がよいかも
Return System.Drawing.Color.AliceBlue

それ以前に、COLORというネーミングを定数/変数/属性名に行わない方がよいかも?
System.Drawing.Colorとかぶる可能性があるから。。。
    • good
    • 0
この回答へのお礼

すみません。。
初めての質問だったので使い方がまだわからず・・
下記、同じメッセージをしてしまいました。

有難うございました!!

お礼日時:2010/05/13 14:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A