• 締切済み

VB.NETで色を比較するIF文を作成したいのですが

if Me.BackColor = Color.AliceBlue then "処理" end if 以上のような感じで色を比較するIF文を作りたいのですが、比較するとコンパイルエラーになってしまいます。 Me.BackColor = Color.AliceBlueと設定はできるの ですが・・・ 以上の比較の仕方がわかる方いましたら教えて下さい。

みんなの回答

回答No.1

equalsメソッド If Me.BackColor.Equals(Color.AliceBlue) Then

関連するQ&A

  • if文からcase文への置き換え

    ピクチャボックスをクリックしたら、チェック ボックスがチェックされるメソッドを作りたいと 思っています。 Private Sub PictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click,PictureBox2.Click 'ここから If sender Is PictureBox1 Then If Me.CheckBox1.Checked = False Then Me.CheckBox1.Checked = True Else Me.CheckBox1.Checked = False End If ElseIf sender Is PictureBox2 Then If Me.CheckBox2.Checked = False Then Me.CheckBox2.Checked = True Else Me.CheckBox2.Checked = False End If End If 'ここまで End Sub 上記のif文をCase文に置き換えたくて、 'ここから Select Case sender Case PictureBox1 If Me.CheckBox1.Checked = False Then Me.CheckBox1.Checked = True Else Me.CheckBox1.Checked = False End If Case PictureBox2 If Me.CheckBox2.Checked = False Then Me.CheckBox2.Checked = True Else Me.CheckBox2.Checked = False End If End Select 'ここまで 上記のように書き換えたのですが、エラーが出てしまいます(ビルドは通るのですが)。 Case文の使い方が間違っているんだとは思いますが、どこがどう 間違っているのがよくわかりません。 ご教授いただけないでしょうか?

  • vb.netでのif文について

    vb.netでエクセルを操作する プログラムを作ってて、 Dim xlrange As Excel.Range Dim xlcells As Excel.Range xlrange=xlcells(1,1) if xlrange.value<>"*合計*" then xlrange.value="" end if というプログラムを考えたのですが、 うまくいきません。 if文の条件にxlrange.valueは使えるのでしょうか?

  • VB6,Ifから抜けるには?

    If a = b then   xxx  If c = d then    ここ!  End If   yyy End If zzz 上のここ!から抜け、zzz以降の処理を継続するにはどうすればよいでしょうか? Exit Subをやってしまうとプロシージャ自体から抜けてしまいます。

  • vb初心者。急いでます!

    修論に取り組む院生です。 vb2010で簡単なソフトを作成中なのですが、以下のようなコードが何度も出てくるため、なんとか短くしたいんです。 型変換や色指定部分の工夫などが考えられると思うのですが、なかなか上手くいかず焦っています。 Dim a213,a214,c212,c213,c214 As Double If a213 < 1 Then ha13.BackColor = Color.FromArgb(160, 140, 255) ElseIf a213 < 20 Then ha13.BackColor = Color.FromArgb(120, 160, 255) ElseIf a213 < 40 Then ha13.BackColor = Color.FromArgb(100, 200, 150) ElseIf a213 < 60 Then ha13.BackColor = Color.FromArgb(255, 255, 70) ElseIf a213 < 80 Then ha13.BackColor = Color.FromArgb(255, 170, 0) Else ha13.BackColor = Color.FromArgb(255, 80, 100) End If If a214 < 1 Then ha14.BackColor = Color.FromArgb(160, 140, 255) ElseIf a214 < 20 Then ha13.BackColor = Color.FromArgb(120, 160, 255) ElseIf a214 < 40 Then ha14.BackColor = Color.FromArgb(100, 200, 150) ElseIf a214 < 60 Then ha14.BackColor = Color.FromArgb(255, 255, 70) ElseIf a214 < 80 Then ha14.BackColor = Color.FromArgb(255, 170, 0) Else ha14.BackColor = Color.FromArgb(255, 80, 100) End If If c212 < 1 Then hc12.BackColor = Color.FromArgb(160, 140, 255) ElseIf c212 < 20 Then hc12.BackColor = Color.FromArgb(120, 160, 255) ElseIf c212 < 40 Then hc12.BackColor = Color.FromArgb(100, 200, 150) ElseIf c212 < 60 Then hc12.BackColor = Color.FromArgb(255, 255, 70) ElseIf c212 < 80 Then hc12.BackColor = Color.FromArgb(255, 170, 0) Else hc12.BackColor = Color.FromArgb(255, 80, 100) End If If c213 < 1 Then hc13.BackColor = Color.FromArgb(160, 140, 255) ElseIf c213 < 20 Then hc13.BackColor = Color.FromArgb(120, 160, 255) ElseIf c213 < 40 Then hc13.BackColor = Color.FromArgb(100, 200, 150) ElseIf c213 < 60 Then hc13.BackColor = Color.FromArgb(255, 255, 70) ElseIf c213 < 80 Then hc13.BackColor = Color.FromArgb(255, 170, 0) Else hc13.BackColor = Color.FromArgb(255, 80, 100) End If If c214 < 1 Then hc14.BackColor = Color.FromArgb(160, 140, 255) ElseIf c214 < 20 Then hc14.BackColor = Color.FromArgb(120, 160, 255) ElseIf c214 < 40 Then hc14.BackColor = Color.FromArgb(100, 200, 150) ElseIf c214 < 60 Then hc14.BackColor = Color.FromArgb(255, 255, 70) ElseIf c214 < 80 Then hc14.BackColor = Color.FromArgb(255, 170, 0) Else hc14.BackColor = Color.FromArgb(255, 80, 100) End If 初めにhが付くものはpicturebox名です。 条件に応じてpictureboxの色を変えるコードで、色は全部で6色で固定です。 このあたりももっと工夫できる気がしてはいるのですが・・・ 時間がないので、とりあえずは期限までに面倒な手順でもソフトを完成させようと思っていますが、さすがに量が多いのでこちらも時間的に危ういです。。 いいアイディアをお持ちの方、よろしくお願いします!!!

  • IF文

    (A)IF 条件 THEN 単純実行文1 ELSE 単純実行文2 (B)IF 条件 THEN 実行処理1 ELSE 実行処理2 Aの文では単純実行分なのになぜ改行すると(B)の文みたいに実行処理になるのでしょうか? 実行処理と単純実行文の違いを教えてください

  • 例外ってIf文の中に入れますか?If文の外でTry...Catchしますか??

    例外ってIf文の中に入れますか?If文の外でTry...Catchしますか?? Sub Cal(By Val Data As String)  If ( Flag = "hoge") Then  Total = js.Eval(Work)  End If End Sub それと、”エラーコードをテキストの説明に変換する”FormatMessage関数を使おうと思っています。 「例外処理 = FormatMessage関数」という図式は古いですか?いまはもっと違う方法ですか?

  • if文がbegin - endな訳は?

    if 条件 > 0 then  begin   条件あり  end else  begin   それ以外。  end; Delphiでは、こうなるのですがなぜ{}を使わないのでしょうか? {}はコメントになるけど、//でも/* */ でもいいじゃないですか。 それに比べて、begin - end って面倒じゃないですか? 何かの本でif文が多いのは汚いプログラムだ、と読んだのですが、当時はPerl,PHPしか知らなかったので、それほど汚くないじゃん。と思ったのですが、Delphiを使ってみると、やっぱりif文が汚く感じます。 もちろん、コンパイルするので、書き方は開発者の自由なのは分かりますが、{}ではいけない明確な理由があるんでしょうか? 豆知識を持っている方、プログラム経験上分かった方、よろしくお願いします。

  • 長いIF文を短くしたい

    よろしくお願いします いつもgooのみなさんに大変お世話になっております マクロは2カ月ほど前から勉強しています お陰様で、私のマクロも日々進歩できています エクセルのバージョンは2013です 質問内容 長いIF文を短くしたい IF 条件1 and 条件2 and 条件3 and 条件4 and 条件5 Then   処理 End If このようにIF文が長いために、マクロ編集画面が見にくくなっています Select Case を使わずに短くする方法はないでしょうか?

  • if文の条件式の書き方

    If intTemp <= intTemp2 <= intTemp3 Then というif文があります。このif文の意味とどの時にifの中に入るのでしょうか? intTemp = 1 intTemp2 = 2 intTemp3 = 3 の時には通る intTemp = 5 intTemp2 = 4 intTemp3 = 3 のときも通る intTemp = 5 intTemp2 = 8 intTemp3 = 3 の時も通ってしまいます。 本当はコンパイルエラーだと思ってのですが・・・ 全然わからないのでわかりやすくお願いします。

  • fortran if文

    fortranのif文で、以下の様に場合わけしてプログラムしたのですが、 このようなエラー文が出ます。どう対処したらいいのか教えて下さい。 Error: An unterminated block exists. プログラム↓ if(-0.5d0.LE.theta.LE.0.0d0) then eta=2 if(0.0d0.LT.theta.LT.0.5d0) then eta=5 if(0.5.LE.theta.LE.1.0d0) then eta=3 場合わけの範囲指定の仕方が不味いのではないかと思っていますが、 どうしていいものかわからず・・ 皆様のお力を貸して下さい。

専門家に質問してみよう