2016-05-10 12 views
1

私はVB6プロジェクトに取り組んでいます。私のプロジェクトでは2.0コンボボックスを使用しています。コンボボックスにデータをロードし、それを選択し、全体をまとめるという点で、すべてうまく動作します。私がしようとしていることは、データが選択されたら、両方のコンボボックスで同じデータが選択されていないことを確認することです。私はcbo'sの1つのための損失の焦点の速い比較IFの記述を書くことを試みているが、それは働くように思わない。VB6 - コンボボックスがフォーカスを失った

Private Sub cbo1_LostFocus() 
if cbo1.text<>"" and cbo2.text<>"" then 
    if cbo1.text = cbo2.text then 
     MSGBOX "Duplicate Values" 
    else 
     exit sub 
    End if 
end if 
End Sub 

それがすべてでFOCUSが失われて実現していません - 私は私が今までやったとは思わないことCBO、通常のテキストボックスなどに。どんな助けもありがとうございます。

答えて

1

代わりにGotFocusを試すことができます。場合によっては、LostFoucsイベントをオーバーライドまたはマスクすることができます。この資料では、同様の問題を示します。http://www.vbforums.com/showthread.php?396536-RESOLVED-VB6-LostFocus

もちろん、最新のVBにアップグレードすることはできますが、私はあなたの理由があると推測しています。

+0

私は従来のvb6アプリケーションを維持しています。 GotFocus私はすでに別の理由で持っています。 LostFocusはまったく起動せず、どちらも検証しません。 – FatBoySlim7

+1

このコードを別の関数に入れて、GotFocusの中で呼び出すことができます。あなたの既存のGotFocusコードがこの機能を妨害していると言っている場合を除きます。 –

+0

私はそれもできると思います。私は実際にフォーカスを失ったときにそれをやろうとしています。なぜなら、このようにしてcbo1の値を選択してからcbo2の値を選択することができるからです。私はちょうどCHANGEを試みましたが、機能しますが、LOST FOCUSは値が違うことを継続的に思い出させるため、私をもっと助けてくれるはずです。 Changeでは、msgboxを使用して2つの値を持つことをユーザーに伝えますが、それだけです。 – FatBoySlim7

関連する問題