質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

10309閲覧

C# ラベル 特定の文字になったら背景色を変える

C-shosinka

総合スコア32

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2017/06/18 12:19

#C#初心者です。

labelに入力された文字を解析?して、フォームの背景色を変える方法がわかりません。
(labelに「1」と入力されたら背景色を青に変える
labelに「2」と入力されたら背景色を緑に変える・・・)
そもそもそんなことはできないんでしょうか?

ご回答よろしくお願いします。
###補足
情報取得にはHtmlAgilityPackを使用しています。
VS:2017
C#言語
.NET Framewark 4.6.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

フォームってWinFormsのことですか?
なら条件にあわせて

this.BackColor = System.Drawing.Color.DarkBlue;

みたいな感じにしてあげればいいですよ
Labelの色でも同様です

文字列の解析(ある文字が含まれているかですかね)もString.Containsというメソッドで一発です

String.Contains

投稿2017/06/18 12:47

編集2017/06/18 12:50
dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

C-shosinka

2017/06/18 12:50

なるほど。参考になりました。ついでで申し訳ないですが、条件のコードの書き方も教えてもらっていいですか・・・?(labelに「1」と入力されたら←入力されたかを解析)ごめんなさい・・・Windowsフォームです。
C-shosinka

2017/06/18 12:53

素早い回答、ついでのものも答えてくださりました!ありがとうございます!
guest

0

こんな感じにするとできると思います。

前提:

  • label1が目的のラベル
  • フォームデザイナーでlabel1のTextChangedイベントにメソッドを定義する操作をする

HtmlAgilityPackなど何を使っているかは関係ありません。label1.Textに何かを設定したら自動的に色が変わるようになります。

C#

1private Color defaultBackColor = this.BackColor; 2 3public Form1() { // constructor 4 InitializeComponent(); 5 defaultBackColor = BackColor; 6} 7 8... 9 10private void label1_TextChanged(object sender, EventArgs e) { 11 var text = label1.Text; 12 if (text == "1") { 13 this.BackColor = Color.Blue; 14 } else if (text == "2") { 15 this.BackColor = Color.Green; 16 } else { 17 BackColor = defaultBackColor; 18 } 19}

そもそもそんなことはできないんでしょうか?

リファレンスの見方を学び、できるだけ自分で調べられるようにするとよいと思います。

例:

  • 「C# Form Label」と検索する
  • MSDNリファレンス: Labelクラスがヒットするのでそれをみる
  • テキストの内容が変化したときにTextChangedというイベントが発生することを見つける

投稿2017/06/18 12:51

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問