0

私のコンボボックスにはたくさんの値があり、アルファベット順に並べられています。文字を押して値を選択すると、 selectedindexchanged および selectedvaluechanged イベントが発生しますが、これは必要ありません。実際、私はまだ値を選択していません。選択したい値に到達しようとしています。どうしてこれなの?どうすればこれを防ぐことができますか?

AUDI
BMW
CITROEN
D...
E...
MERCEDES -> To select this. pressing M fires events???
OPEL
VOLVO
4

3 に答える 3

0

選択したインデックスは、何かを選択すると変更され、現在のテキストがリストの項目でない場合は -1 になります。これは、テキストを変更した結果である可能性があります

値の変更は基本的に、リストにあるかどうかに関係なくテキストが変更されたため発生します。

あなたが何をしたいのか、私にははっきりしません。ただし、動作を組み合わせたい場合は、コードを通過するだけです。次のような擬似コード:

 inside your value changedevent()
  {
   // first you might put in some text reformating code here
   // so for example you might replace spaces for '-' or so..
   // or if one presses M,(and text length =1
   // the list of elements in the control 
   // could be filtered on items starting with an M
   // by using a Linq query or so on a list or array.


   If (yourcombobox.selectedindex > -1) {// fire my code as now we're sure its an existing element}
  }
于 2017-06-14T06:48:35.213 に答える