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

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

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

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

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

解決済

3回答

617閲覧

C# 重複グループのラジオボタン[WinFormApp]

sollalice

総合スコア35

C#

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

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

0クリップ

投稿2022/03/23 01:04

横に曜日として月、火、水、木、金、土 とラジオボタンがあり、その下に各々午前、午後とラジオボタンを配置しようと思います。
月~土をラジオボタンでコントロールし、さらに月のボタンを選択した時、月の下に配置した午前、午後のラジオボタンのみをアクティブにしたいと思っているのですが、パネルを重ねてみたところ配置したボタンが見えなくなってしまい、上手く配置できません。パネルやグループボックスでは上記の方法では配置できないのでしょうか。また、上記を実現するにはどうしたら良いでしょうか。

よろしくお願いします。

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

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

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

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

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

fana

2022/03/23 01:14

> パネルを重ねてみたところ 前触れもなくパネルという登場人物が出現しており,意味がわかりません. 「~をアクティブにしたい」 という話から 何故パネルをどこぞに重ねるという話にすっ飛んだのか?
sollalice

2022/03/23 01:32

ラジオボタンのグループ化にはパネルもしくはグループボックスを使うので。 要は横に長いパネル(仮にパネルA)に月~土のラジオボタンを配置、月のラジオボタンの下、パネルAの上に縦に長いパネル(仮にパネルB)を配置、火のラジオボタンの下、パネルAの上に縦に長いパネル(仮にパネルC)を配置・・・。 パネルBに午前、午後 のラジオボタンを配置、パネルCに午前、午後のラジオボタンを配置・・・。 とやれば月のラジオボタンを選択すれば月の下に配置した午前午後のラジオボタンだけがアクティブになり、火のラジオボタンを選択すれば火の下に配置した午前午後のラジオボタンだけがアクティブになる、みたいな動作を期待してうまく行っていない状態です。
sollalice

2022/03/23 01:34

横に長いパネル(仮にパネルA)に月~土のラジオボタンを配置、月のラジオボタンの下層、パネルAの上層に縦に長いパネル(仮にパネルB)を配置、火のラジオボタンの下層、パネルAの上層に縦に長いパネル(仮にパネルC)を配置・・・。 と修正します。よろしくお願いします。
guest

回答3

0

要は,こんなの↓を作りたいって話ですよね?

イメージ説明

各ラジオボタンがどのパネルに所属してるのか? っていう関係性がうまく設定できていない:
Panel.Controls.Add( ラジオボタン ) みたいなやつがうまくやれてない
だけなのではないでしょうか.

(一旦デザイナ上でパネル上にラジオボタンを置くような配置操作をすればそこらへんのコードが作られるので,それを参考にするのが早いのではないでしょうか.)

投稿2022/03/23 02:11

fana

総合スコア11658

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

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

0

パネルを貼り付けたあと、ラジオボタンを貼り付けよう。
順序が大事

投稿2022/03/23 01:30

y_waiwai

総合スコア87774

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

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

sollalice

2022/03/23 01:50

上記補足の条件で試しました。 パネルA、上層にパネルBとパネルC・・・を配置。パネルBにラジオボタン月、午前、午後を配置。パネルCにラジオボタン火、午前、午後を配置・・・。 →パネルB上の3つのラジオボタン、パネルCの3つのラジオボタンでグループ化してしまい失敗。 パネルBにラジオボタン午前午後、パネルCにラジオボタン午前午後・・・を配置。パネルB、パネルC・・・の上層にパネルAを配置、パネルAにラジオボタン月~土を配置 →月~土はグループ化するも午前午後のラジオボタンが月~土に連動せずすべてアクティブになってしまい失敗。 上手いグループ化の方法があるのでしょうか。
y_waiwai

2022/03/23 02:02

アクティブにするとかなんとかは配置だけでは無理なのでコードで書こう で、 > パネルを重ねてみたところ配置したボタンが見えなくなってしまい、 ってのは解決したの?
sollalice

2022/03/23 02:26

配置の問題で下層にいってしまったので見えない、押せない、と言う状態でした。そこについては解決しました。
guest

0

自己解決

ラジオボタン月~土をグループ化し、さらにラジオボタン午前、午後をグループ化したものを6つ用意。ラジオボタン月を選択すると火~土のグループを無効化及び所属するラジオボタン午前午後の選択を解除、ラジオボタン火を選択すると月、水~土のグループを無効化及び所属するラジオボタン午前午後の選択を解除・・・という方法で実装はできました。この方法は最初に想定していて自分の技量ではこれが限界でしたが、ほとんど同じような処理なのでスマートに記述する方法があるのかと思い、質問させていただきました。ありがとうございました。

投稿2022/03/23 02:25

sollalice

総合スコア35

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

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

fana

2022/03/23 04:51

> ほとんど同じような処理なのでスマートに記述する方法があるのかと思い、質問させていただきました 何やら話が質問文とは全く異なっているような気がします. 当初の問題(パネルを重ねるとボタンが見えなくなるとかいう話)が既に解決しているのであればこの質問は適切に閉じ,「同じようなのをスマートに実装」みたいな話に関しては別件として扱うのが良いのではないでしょうか.
sollalice

2022/03/23 05:40

理解しました。閉じます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問