いつもお世話になっています。
ちょっと相談に乗っていただきたいのですが、
皆様でしたら、下記の場合どのようにしますか?
フォーム上にコンボボックス(Combo1)が配置してあります。
コンボボックスの隣に、ファイル選択ができるボタン(Command1)が設置してあります。
ユーザーは、以下のいづれかの方法で、ファイル名を指定することができます。
① コンボボックスに直接文字列を書き込む
② ファイル選択ボタンを押下して、選択したファイル名をコンボボックスに書き込む。
書き込まれたファイル名を、コンボボックスのリストに追加したいのですが、
②の方法で書き込まれた場合は、Command1_Clickのイベントで以下のとおりにすれば、
実現できるのですが、①の方法で、入力された場合は、
どうやって検出すればよいのでしょうか?
Private Sub Command1_Click()
CommonDialog1.CancelError = True
CommonDialog1.DialogTitle = "ファイルを選択"
CommonDialog1.Filter = "*.txt"
CommonDialog1.ShowOpen
If Not CommonDialog1.FileName = "" Then
Combo1.Text = CommonDialog1.FileName
Combo1.AddItem CommonDialog1.FileName ← ②の場合は、ここで追加。
End If
End Sub
①の場合は、どのイベントをトリガにするべきでしょうか?
今、考えているのが、LostFocusのイベントを使おうかと考えています。
Private Sub Combo1_LostFocus()
Combo1.AddItem Combo1.Text
End Sub
これって一般的なのでしょうか?
でも、これしかないような気がするのですが、他に何か良い方法がありますでしょうか?
ご意見を聞かせてください。
よろしくお願いします。
素直に入力用のテキストボックスを追加でいいと思うのですが
通ってみた さん
回答ありがとうございました。
確かに、テキストボックスの追加でいいような気がしてきました。
そのように対処します。
ツイート | ![]() |