- 543 名前:532 mailto:sage [2021/08/15(日) 12:12:51.35 ID:Ab4oMS/u0.net]
- ありがとうございます。
その後、試してみたこととして、 ListBoxのChangeイベントに再計算の処理を書いておき、 RemoveItemの後で.listIndex=0の処理を入れたところ、 一発目のRemoveItem後は、期待どおりChangeイベントが発生してくれましたが、 二発目以降は、.listIndexが0→0と変化なしのせいか、イベントは発生しませんでした。 行数を再計算したい、と書きましたが、 単純に全体の行数であれば、RemoveItemの後で.listCountをラベルに代入するだけの一行で済みますが、 実際は、リストの1カラム目(ID欄として使用)が100未満の場合と100以上の場合で分けてカウントしており、 FOR文で、ID100未満までの間でヒットするIDがあるたびに対象のカウントをインクリメントし、 2つ目のFOR文で、ID100以上について同様の処理を行う、 という風にしようとした時に、これが冗長に思えました。 もし、使えるイベントがあれば、 そのイベントプロシージャの中で、 それぞれのカウンタラベルのうち対象となる方のみマイナスした値に変更する、 という処理を入れるだけでOKになりそう、と考えました。 結論としては、 イベントに頼らず、 指定したIDの行を.RemoveItemする処理のところで、 そのIDが100未満か100以上かで分岐させて、 その分岐の中で、対象となるカウンタをマイナスする、 という処理にしました。
|

|