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

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

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

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

Visual Studio

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

Q&A

解決済

2回答

7931閲覧

C# Windowsフォームアプリケーションでラジオボタン機能を画像で行いたい

ayumi0131

総合スコア17

C#

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

Visual Studio

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

0グッド

0クリップ

投稿2017/01/12 07:14

C# Windowsフォームアプリケーションでラジオボタン機能を、
用意した画像で処理したいのですが、ラジオボタンを画像に置き換えることができません。
やり方わかる方いましたら教えてください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

ayumi013さん、はじめまして。

このような感じでよろしいでしょうか。
フォームにラジオボタンを2つ配置しました。
イメージ説明

イメージリストを追加し、アイコンを2つ追加。("R.png"が非選択時用、"R_2.png"が選択時用)
イメージ説明

radioButton1Paintイベントをダブルクリックしてイベントを追加します。
イメージ説明

次のように、コードを記入。

lang

1 private void radioButton1_Paint(object sender, PaintEventArgs e) 2 { 3 if (radioButton1.Checked) 4 e.Graphics.DrawImage(imageList1.Images[1], 0, 0); 5 else 6 e.Graphics.DrawImage(imageList1.Images[0], 0, 0); 7 }

OnPaintイベント発生時に、radioButton1にチェックがあれば、"R_2.png"のイメージで塗りつぶし、チェックがなければ、"R.png"のイメージで塗りつぶしています。

実行してみます。起動時はradioButton1にチェックがある状態でしたので、"R_2.png"が描かれています。
イメージ説明

radioButton2をクリックすると、radioButton1が"R.png"で描かれています。
イメージ説明

ダブル・バッファリングなどのことを考えていませんので、ラジオボタンが大量にある状況で、イメージを描き込むとチラつきがでるかもしれませんが・・・

以上

投稿2017/01/14 00:56

rrryutaro

総合スコア146

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

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

ayumi0131

2017/01/14 02:41

大変わかりやすかったです。。ありがとうございます。
guest

0

StackOverflowで似たような話題があったと思います。
ImageListプロパティーを使った方法が載ってますがRadioButtonにもImageListプロパティーがあるのでこれを使ってやってみてはいかがでしょうか。
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.radiobutton(v=vs.110).aspx

投稿2017/01/12 07:34

KSwordOfHaste

総合スコア18404

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問