C# Windowsフォームアプリケーションでラジオボタン機能を、
用意した画像で処理したいのですが、ラジオボタンを画像に置き換えることができません。
やり方わかる方いましたら教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
ayumi013さん、はじめまして。
このような感じでよろしいでしょうか。
フォームにラジオボタンを2つ配置しました。
イメージリストを追加し、アイコンを2つ追加。("R.png"が非選択時用、"R_2.png"が選択時用)
radioButton1
のPaint
イベントをダブルクリックしてイベントを追加します。
次のように、コードを記入。
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
総合スコア146
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
総合スコア18404
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/14 02:41