C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[11]: イベントについて [1]


(過去ログ 11 を表示中)

[トピック内 24 記事 (21 - 24 表示)]  << 0 | 1 >>

■2804 / inTopicNo.21)  Re[8]: イベントについて
  
□投稿者/ ぽぴ王子 (180回)-(2007/04/16(Mon) 19:48:41)
ぽぴ王子 さんの Web サイト
えーと、雑談も楽しいですが(笑)まきこさんのためにまとめると。

SelectedIndexChanged イベントは予期せぬ場合にも発生しうるので(しかもこれが
古くからある有名なバグらしいと)使っちゃフローレン…じゃなかったノンノンと。

で、あるからして、使うとするならば SelectionChangeCommitted イベントがいいの
ではないかと。
以前自分が ComboBox を使ったときも SelectionChangeCommitted イベントを使っ
た記憶があります。
引用返信 編集キー/
■2807 / inTopicNo.22)  Re[9]: イベントについて
□投稿者/ とっちゃん (110回)-(2007/04/16(Mon) 20:56:25)
とっちゃん さんの Web サイト
No2804 (ぽぴ王子 さん) に返信

> SelectedIndexChanged イベントは予期せぬ場合にも発生しうるので(しかもこれが
> 古くからある有名なバグらしいと)使っちゃフローレン…じゃなかったノンノンと。

Native レベルでの処理は、入れ替え機能がないので、これを実現するために
「おそらくは」
削除と挿入を行っていると思います。
#.NET Framework のコンボボックスが COMBOBOX コントロールからの派生(*)ならばですが。

で、これが原因で、SelectedIndexChaned が発生するのではないかと。
当然ですが、削除や挿入を行えば、インデックスはかわります。
なので、おそらくは、2回来ていると...


> で、あるからして、使うとするならば SelectionChangeCommitted イベントがいいの
> ではないかと。
> 以前自分が ComboBox を使ったときも SelectionChangeCommitted イベントを使っ
> た記憶があります。
ですね。
このイベントが Native での CBN_SELENDOK にあたるんだとおもいます。


*
Windows のコントロールにも派生という概念があります。
.NET Framework の派生クラスとはことなりますが、ここのウィンドウにもクラスというものがあり
そのベースクラスを基にして、機能追加などを行うサブクラス化の機能がありますので。

爺の余計なひと言でしたw
引用返信 編集キー/
■2808 / inTopicNo.23)  Re[10]: イベントについて
□投稿者/ ぽぴ王子 (181回)-(2007/04/16(Mon) 21:23:29)
ぽぴ王子 さんの Web サイト
No2807 (とっちゃん さん) に返信

> Native レベルでの処理は、入れ替え機能がないので、これを実現するために
> 「おそらくは」
> 削除と挿入を行っていると思います。
> #.NET Framework のコンボボックスが COMBOBOX コントロールからの派生(*)ならばですが。

シャノンさんが書かれていることと同じ話ですね。
結局のところ、根っこがそうだから「そういう仕様」ということでしょうか。

> このイベントが Native での CBN_SELENDOK にあたるんだとおもいます。

たぶんですです。
CBN_SELENDOK の話を聞いて、そうだ!京都行こ…じゃなかった、
SelectionChangeCommitted イベントを使って実装した覚えがあったあった!
というのを思い出して書いてみました。

# 結局また雑談してしまう… orz
引用返信 編集キー/
■2810 / inTopicNo.24)  Re[11]: イベントについて
□投稿者/ とっちゃん (111回)-(2007/04/16(Mon) 22:23:19)
とっちゃん さんの Web サイト
No2808 (ぽぴ王子 さん) に返信
> シャノンさんが書かれていることと同じ話ですね。
> 結局のところ、根っこがそうだから「そういう仕様」ということでしょうか。
>
です。
#書いてあるのは承知でかぶって書かせてもらいましたw

仕組み的にはオーナードローをつかうとか、いくらでもやりようはあるんですが
.NET ではそこまではやってないんだろうなぁとww

ちなみに、リストボックスも書き換えはなくて、抜いて入れてですねw
リストコントロールは変更がありますけどw
#レガシーなコントロールはなにかしらの制約があると思っていた方が無難w

引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -