• ベストアンサー

VB2008かVB2005で、チェックボックスをループ文を使ってFalseにしたい

Visual Basic 2008か2005で グループボックス1に50個、 グループボックス2に25個ののチェックボックスがあるとします。 これらのうち、グループボックス1の50個のチェックボックスだけ 全てチェックを外す処理を作りたいのですが、 1個1個チェックボックスをFalseにする文を記述すると 同じ様なソースが増えてしまうので、 Forのようなループを使って簡潔に書くことは出来ないでしょうか? 出来れば、ソースを記述してほしいです。 すみませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 グループボックス1に、チェックボックスのみ50個しかないと 仮定すると(グループボックス1にテキストボックス等などの コントロールが他にない) 以下のコードで出来そうです。 Dim o As Object For Each o In Me.GroupBox1.Controls o.CheckState = 1 Next すべてのチェックボックスをオンの時 o.CheckState = 1 オフの時 o.CheckState = 0 ちなみに、グループボックスの数は、今回は、関係ないです。 グループボックス、全部オンにするか、オフにするかになります。

その他の回答 (2)

noname#187541
noname#187541
回答No.3

こんばんは。 GroupBoxにCheckBox以外のコントロールがある場合はIf文でチェックすればいいでしょう。 Dim myobj As Object For Each myobj In Me.GroupBox1.Controls If TypeName(myobj) = "CheckBox" Then myobj.checkstate = 0 End If Next

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

間違いです。修正 >ちなみに、グループボックスの数は、今回は、関係ないです。 >グループボックス、全部オンにするか、オフにするかになります グループボックスの数ではなく チェックボックスの数です。 失礼。

関連するQ&A

  • チェックボックスがすべてfalseになる

    チェックボックスがチェックされているか否かによって 処理をかえたいのですが なぜかチェックをしていてもすべてfalseになってしまいます。 これはチェックしていればtrue、していなければfalseになるはずなんですよね? 一部抜粋しました。 https://codepen.io/anon/pen/jmoLmQ

  • 【VB2008】For Eachを使い、チェックをFalseする

    For Eachを使い、チェックボックス5~25の チェックをFalseしたいのですが、どうすればいいのか分かりません。 どなたかご教授願いします。 CheckBox5.Checked = False CheckBox6.Checked = False ・・・ CheckBox25.Checked = False

    • 締切済み
    • CSS
  • チェックボックスについて

    現在チェックボックスを使用した作品を作成しています。 チェックボックスの左隅(ボックスの左辺)に マウスが乗ってるか乗ってないか位の位置でクリックをすると イベント処理は行われるのですが、チェックが消えなかったり 逆にチェックが表示されないままになってしまいます。 何かいい対処法はあるのでしょうか? ご教授頂けたら幸いです。 開発環境:CS3 AS2.0 以下チェックボックスに記述しているスクリプトです。 onClipEvent(mouseUp){ if(this.hitTest(_root._xmouse, _root._ymouse, false)){ if(this.getState()){ //処理 } else{ //処理 } //処理 } } }

    • ベストアンサー
    • Flash
  • DataGridView上のチェックボックスが、TrueかFalseか

    DataGridView上のチェックボックスが、TrueかFalseか判定する際にエラーが出て困っています。 DataGridViewにチェックボックスのカラムを設定し、そのチェックボックスがTrueがFalseかを判断したいと思っています。 以下のコードではエラーになるのですが、何が原因でしょうか。 前提条件 ・環境:VS.NET(VB) ・DataGridView名:dgv ・チェックボックスのカラム名:cCheck For Each dgr As DataGridViewRow In dgv.Rows If CType(dgr.Cells("cCheck").Value, Boolean) Then '処理 End If Next デバッグをしていると、 上記の「 If CType(dgr.Cells("cCheck").Value, Boolean) Then」 でエラーが発生します。 エラー内容は「string型からBoolean型への変換は無効です。」です。 お分かりの方がおりましたら、ご回答頂ければ幸いでございます。 よろしくお願い致します。

  • phpのチェックボックスについて

    チェックボックス1、 チェックボックス2、 チェックボックス3があるとします。 チェックボックス1を押したら次の処理。 チェックボックス1,2を押したら次の処理。 チェックボックス1,3を押したら次の処理。 以下・・・・ と9通りになりますが、チェックボックスを複数選択した場合は、みなさまはどのようにして処理をしてますでしょうか・・・ 簡単なソースとかもしよければ参考までに教えていただけますとすごく助かります。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • VB For-Next文でのExitではなく中断は可能?

    初歩的な質問で申し訳ありません・・・ ループで処理しているものがあるのですが、ExitForでループを抜けることはできますが、途中で処理を中断して次のカウンタの処理へ移ることはできるのでしょうか? 例えば For i = 1 to 10   if 関数1() = False then     ■ループ処理を終了するのではなく次のカウンタ[i]に移りたい■   else     Call 関数2()   end if Next i という事をしたいと思っています。 今は For i = 1 to 10   ret = 関数1()   if ret = True then     Call 関数2()   end if Next i という方法で記述していますが、上記のような条件文が10や20もあると、IF文の入れ子入れ子でかなりコードが見にくいです・・・。 どなたかよろしくお願いします!

  • CDateTimeCtrlのチェックボックスについて

    CDateTimeCtrlのチェックボックスについて質問させてください。 環境 Microsoft Visual Studio .NET 2003 Visual C++ プロジェクト MFC DLL WindowsXP Home CDateTimeCtrlのプロパティに 「Show None」チェックボックスをコントロールの隣に表示して、日付を選択しなくても良いようにします。 という項目がありますが、このチェックボックスをソース上で操作するメンバが CDateTimeCtrlクラスやCWndクラスのクラスメンバに見当たりません。 どなたかご存知でしたら、ソースからチェックボックスのON,OFFを操作する方法を教えてください。

  • for文while文の無限ループの違いについて

    for文の無限ループ for(; ;) と、 while文の無限ループ while(1) は、 どのように違うのですか? 処理速度やCPU負荷を考慮して、 どちらを使用するか悩んでいます。 よろしくお願いします。

  • 【ActionScript】この繰り返し記述は一般的でしょうか…?(for文)

    _root.box1._visible = false; _root.box2._visible = false; _root.box3._visible = false; ・・・ という記述を現状、 for(i=1; i<=10; i++){ _root["box" + i ]._visible = false; } というfor文で処理しています。 これ自体問題なく動作するのですが、この _root[ ] を使うあたりが「一般的な方法」なんだろうか?とふと思いました。 もしさらに一般的な方法があるのなら知っておきたいと思います。 お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 無限ループとループ文

    プログラミングにおいて while文、for文、foreach文などループ文は種類がありますが 無限ループに繋がってしまう恐れが高い順などは存在しますか? どのループ文もミスなく慎重に 正確な書き方さえしていれば無限ループは起きないと思いますが もしそのような順が存在するのであれば、わからないので教えて頂きたいです。

専門家に質問してみよう