次ページへ移動時、テキストボックスのデータを持っていくには?

解決


シューリ  2004-11-23 15:39:40  No: 117742  IP: [192.*.*.*]

vb6.0で開発をしてます。選択画面で画面あるいはチェックボックスを選択してその数をテキストボックスに入れます。次ページボタンを押したらそのデータを次ページで選択した画面あるいはチェックボックスの数と加えて総選択数を取ってほしいです。いまの状態では、1ページ目で選択して、次ページへいったらそのデータがクリアされます。デバックしてみたら次ページいくとき、チェックボックスの値チェックするところで、チェックボックスクリック処理にいってしまうのです。
If D_Check(i + 16 * (p_index - 1)) = 1 Then
                Check1(j).Value = 1
                Label4(i).BackColor = &HFF8080
                
            ElseIf D_Check(i + 16 * (p_index - 1)) = 0 Then
                Check1(j).Value = 0
                Label4(i).BackColor = &HC0C0C0
            End If

編集 削除
シューリ  2004-11-23 15:46:56  No: 117743  IP: [192.*.*.*]

すいません。送ってしまいました。
上のコードは画面セットするときのチェック入れです。
これはcheck1_click処理です。
 i = Check1(Index).Value

    Select Case i
        Case 1
            LabelLeft = LabelLeft + 1
        Case 0
               If LabelLeft > 0 Then

                    LabelLeft = LabelLeft - 1  //こちらに処理が移る
               End If

    End Select
チェックボックスをクリックしてないのに処理が移るのは何が問題なんでしょう?

編集 削除
ガッ  2004-11-23 20:01:56  No: 117744  IP: [192.*.*.*]

>チェックボックスをクリックしてないのに処理が移るのは何が問題なんでしょう?
チェックボックスの仕様です。

編集 削除
魔界の仮面弁士  2004-11-24 01:04:41  No: 117745  IP: [192.*.*.*]

> チェックボックスをクリックしてないのに処理が移るのは何が問題なんでしょう?
VB6のヘルプには、以下のような記載があります。
http://www.microsoft.com/japan/developer/library/VB98/vbevtclick.htm

一部抜粋して引用します。
================================================
[Click イベント]
| アプリケーションに次のようなコードを記述することによって、
| Click イベントを発生させることもできます。 
| ・コマンド ボタン コントロールの Value プロパティを True に設定します。
| ・オプション ボタン コントロールの Value プロパティを True に設定します。
| ・チェック ボックス コントロールの Value プロパティの設定値を変更します。 
================================================

このため、
> Check1(j).Value = 1
などのコードによって、Valueプロパティが変更されると、
Clickイベントが連動して発生する事になります。


Valueの変更に伴って、Clickイベントが発生するという点を考慮して
プログラムを見直してみてください。

編集 削除
シューリ  2004-11-30 17:19:30  No: 117746  IP: [192.*.*.*]

親切なアドバイスどうもありがどうございます。
フラグを設定して、コマンドボタンコントロールのValueプロパティを変更する際にはClickイベントのサブルーチン処理はしないようにしました。

編集 削除