アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

ご教授頂けると幸いです。よろしくお願いいたします。

A 回答 (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

といった具合でしょう ・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 03:49

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

この回答への補足

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

補足日時:2009/01/11 03:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A