- ベストアンサー
チェックボックスを操作できないようにしたいです VB.NET
チェックボックスのCheckedの状態をユーザーによるクリックや スペースキーの押下で変更出来ないようにしたいです。 Checked_Changeイベントでユーザーによって変更されたのか プログラムで変更されたのか判断してユーザーによる変更の場合は チェックの状態をクリック前の状態に戻して、 Checked_Changeイベントを抜け出したいのですが どのような方法でやればよいでしょうか? ご教授頂けると幸いです。よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
WindowsFormアプリでしょうか ・・・ 開発(実行)環境の明示をしましょう KeyPressやMousDownなどでフラグをセット CheckedChangedイベントでフラグを参照して修正する方向かと ・・・ フォームクラスの変数として Dim bCheck, bFlag as Boolean を宣言 FromのLoadイベントなどで bCheck = CheckBox1.Checked bFlag = False と初期化しておきます CheckBoxのCheckedChangedイベントで if bFlag then ' フラグが立っているときは元のデータに戻す bFlag = False CheckBox1.Checked = bCheck end if CheckBoxのMouseDownイベントに ' ボタンの判断をするのであれば e.Buttonを使って判断します bFlag = True CheckBoxのKeyPressイベントに if e.KeyChar = Chr(32) then bFlag = True end if といった具合でしょう ・・・
その他の回答 (1)
- chiezo2005
- ベストアンサー率41% (634/1537)
EabledプロパティをFalseではだめですか?
補足
ご回答ありがとうございます。 本当はListViewに付けたチェックボックスなのですが、 一般的なチェックボックスで質問させて頂いた方が良いと思い 今回はチェックボックスで質問させて頂きましたが ListViewの場合EnabledをFalseにするとアイテムが選択できなく なってしまうのでそれは使えませんでした。 ありがとうございました。
お礼
詳しいご回答をありがとうございます。 早速使用させて頂きたいと思います。 ありがとうございました。