• ベストアンサー

チェックボックスを操作できないようにしたいです VB.NET

チェックボックスのCheckedの状態をユーザーによるクリックや スペースキーの押下で変更出来ないようにしたいです。 Checked_Changeイベントでユーザーによって変更されたのか プログラムで変更されたのか判断してユーザーによる変更の場合は チェックの状態をクリック前の状態に戻して、 Checked_Changeイベントを抜け出したいのですが どのような方法でやればよいでしょうか? ご教授頂けると幸いです。よろしくお願いいたします。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.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 といった具合でしょう ・・・

goo081102
質問者

お礼

詳しいご回答をありがとうございます。 早速使用させて頂きたいと思います。 ありがとうございました。

その他の回答 (1)

  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

EabledプロパティをFalseではだめですか?

goo081102
質問者

補足

ご回答ありがとうございます。 本当はListViewに付けたチェックボックスなのですが、 一般的なチェックボックスで質問させて頂いた方が良いと思い 今回はチェックボックスで質問させて頂きましたが ListViewの場合EnabledをFalseにするとアイテムが選択できなく なってしまうのでそれは使えませんでした。 ありがとうございました。

関連するQ&A

専門家に質問してみよう