- ベストアンサー
ボタンをクリックしても空白をリストに追加しないようにしたい
初心者ですのでよろしくお願いいたします。 以下のようなコードでボタンを押すとテキストボックスに入力してあるテキストをリストに登録したいのですが、空白の場合は追加したくありません。どのように書けばいいでしょうか? よろしくお願いいたします。 (ちなみにLabel3にはリストに登録された数が出ます) Public Class Form1 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click End End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text) TextBox1.Clear() Label3.Text = ListBox1.Items.Count End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Remove(ListBox1.SelectedItem) Label3.Text = ListBox1.Items.Count End Sub End Class
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBに限った事ではないので、考え方のみ ボタンが押下されたらデータを追加するというプログラムを組む場合 まず、 ・テキストボックスに値が入力されているかどうか ・入力された値が適正値かどうか のチェックは必ず行うようにしましょう このチェックを入れないと たとえば名前のフリガナを全角カタカナで入力して欲しいところに 今回のケースの様に未入力で空白が登録されてしまったり 半角カタカナや全角ひらがな、ともすると意味のない数字の羅列など 意図しないデータが登録・追加されてしまう事になります なので、 テキストボックスに値が入力されている場合のみデータの追加を行う様に 条件判断を入れましょう 勉強と思って、コードは自分で調べてください
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
#1でおっしゃっているとおりです。質問のコードは何処かの本かWEBから移してきたのかな?これだけ書けるなら、出ない質問と思うが。 TextBox1.Textは空白かどうかIF文で聞いて、空白なら注意コメントでも出して.Items.Addのルーチンを通らないようにしたらしまいでは。 あと今回はTextBox1.Clear()があるので2重登録は起こらないが、登録済みなのに直後にボタン押し(空白でボタン押し)は起こりえる。 これTextBox1.Clear()がないと2重登録(直後ダブりでボタン押し)が良く起こるので、チェックが必要と思う。別の機会に同一内容の2重登録も起こりえる。