2つのチェックボックスがあり両方ともはずせて片方だけにチェックがつく2つの
チェックボックスが作りたいです
自分なりに作成してみました。このソースで不具合等ありませんでしょうか
Private Sub ckb1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb1.CheckedChanged
If ckb1.Checked = True Then
ckb2.Checked = False
End If
End Sub
Private Sub ckb2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb2.CheckedChanged
If ckb2.Checked = True Then
ckb1.Checked = False
End If
End Sub
新人プログラマーなので自信がありません
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
すいません
追加です。
他の方法を記載するのを忘れました。
Public Class Form1
Private Sub CheckBox1_Click(sender As System.Object, e As System.EventArgs) Handles CheckBox1.Click
Dim f2 As New Form2
If CheckBox1.Checked = True Then
CheckBox2.Checked = False
f2.Show()
End If
End Sub
Private Sub CheckBox2_Click(sender As System.Object, e As System.EventArgs) Handles CheckBox2.Click
Dim f2 As New Form2
If CheckBox2.Checked = True Then
CheckBox1.Checked = False
f2.Show()
End If
End Sub
End Class
上記の方法では、チェックボックスに何回チェックを入れても、チェックした方のイベントハンドラしか発生しませんので、Form2は、チェック1回につき1個だけ表示されます。
但しこのコードが正しいとは言えません。
tkwavekさんが書いたコードを大切にしましょう。
No.1
- 回答日時:
こんにちは
>自分なりに作成してみました。
良く出来ていますね。(拍手
>このソースで不具合等ありませんでしょうか
このコード自体は問題ありませんが、このコードをどのように使うかによって、エラーになることもあります。
バグのないプログラムはありませんから。
例です。
各チェックボックスにチェックをいれるとForm2が表示されるサンプルです。
2回目にチェックボックスにチェックをいれるとCheckedChangedが働いて、どちらのチェックボックスにチェックしても、ckb1_CheckedChangedとckb2_CheckedChangedの両者のイベントが発生します。
下記のサンプルでは、1度目にチェックボックスにチェックをいれて、2回目にチェックボックスに再度他のチェックボックスにチェックをいれるとckb1_CheckedChangedとckb2_CheckedChangedの両者のイベントが発生してForm2が2個表示されます。
Public Class Form1
Private Sub ckb1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb1.CheckedChanged
Dim f2 As New Form2
f2.Show()
If ckb1.Checked = True Then
ckb2.Checked = False
End If
End Sub
Private Sub ckb2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb2.CheckedChanged
Dim f2 As New Form2
f2.Show()
If ckb2.Checked = True Then
ckb1.Checked = False
End If
End Sub
End Class
2個表示しないためには、下記のようにします。
Public Class Form1
Dim f2 As New Form2
Private Sub ckb1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb1.CheckedChanged
f2.Show()
If ckb1.Checked = True Then
ckb2.Checked = False
End If
End Sub
Private Sub ckb2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ckb2.CheckedChanged
f2.Show()
If ckb2.Checked = True Then
ckb1.Checked = False
End If
End Sub
End Class
上記のサンプルでは、両方ともClass Form2のFormClosingイベントをキャンセルしています。
下記参照
Public Class Form2
Private Sub Form2_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
e.Cancel = True
Me.Hide()
End Sub
End Class
>2つのチェックボックスがあり両方ともはずせて片方だけにチェックがつく2つのチェックボックスが作りたいです
いろいろな方法がありますが、tkwavekさんが頑張って書かれたコードですので、このコードをそのまま使う方法を考えればいいと思います。
あとはどのようにバグが出ないように使うかだと思います。(それでも、バグのないプログラムはありません)
頑張ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
フォントについて教えてください!
みなさんの一番好きなフォントは何ですか? よく使うフォントやこのフォント好きだなあというものをぜひ教えてください!
-
【お題】マッチョ習字
【大喜利】 「精神を鍛えるため」にと、ジムから書初めの宿題を出されたマッチョたちが半紙に書いてきたこと
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
店員も客も斜め上を行くデパートの福袋
シュールを通り越して店員も客も斜め上を行くデパートの福袋に入ってそうなものを教えて下さい。 よかったらレビューもしてください。
-
エクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
C#で入力可能なカウントダウン...
-
特定行の背景色を変えたいのですが
-
過剰なオブジェクト指向脳から...
-
フィルターかけた後、重複を除...
-
VB2005 TextBoxの入力制...
-
2つのチェックボックスを制御
-
CString のGetAt で正しく文字...
-
Pythonで指定時間までスリープ...
-
Excel VBA素人です。VBAで図形...
-
Nullの使い方が不正です。
-
誰か教えてください
-
差し込み後、元データを変更し...
-
for whichの使い方
-
SQLで特定の項目の重複のみを排...
-
データ型でFloatとreal の計算...
-
外部参照してるキーを主キーに...
-
商品番号を入力すると、商品名...
-
スクリーンセイバー
-
WordpressのContact form 7でzi...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
access2021 VBA メソッドまたは...
-
Excel VBA素人です。VBAで図形...
-
access2003 クエリSQL文に...
-
【VB6】実行ファイルとした後、...
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
Exel VBA 別ブックから該当デ...
-
ACCESSユニオンクエリでORDER B...
-
Excel VBAでOpenTextのFieldInf...
-
COBOLの文法
-
JavaScriptの定数名が取り消し...
-
VBAでファイルオープン後にコー...
-
変数名「cur」について
-
sinカーブの表示のさせ方
-
特定行の背景色を変えたいのですが
-
UWSCでMOUSEORG関数が上手く処...
おすすめ情報