2005年12月21日

ComboBoxの初期化

VB6
Private Sub Form_Load()
With Combo1
.Clear
.Style = 2
'ドロップダウンリスト
.AddItem "その1"
.AddItem "その2"
.AddItem "その3"
.ListIndex = 0
'先頭を初期値
End With
End Sub
 
VB.NET
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
With ComboBox1
.Text = ""
.Items.Clear()
.DropDownStyle = ComboBoxStyle.DropDownList
.BeginUpdate()
'EndUpdate()が呼び出されるまで描画しない
.Items.Add("その1")
.Items.Add("その2")
.Items.Add("その3")
.EndUpdate()
'ここで描画され、ちらつきが発生しない
.SelectedIndex = 0
End With
End Sub


posted by なっちゃん at 14:43| 静岡 ☁| Comment(2) | TrackBack(0) | VB vs VB.NET | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
ComboBox の Index を再設定せず、ただフォームを開いた直後の何も選択されていない状態に初期化する方法を見つけました。

VB.NET
ComboBox1.SelectedIndex = -1
Posted by Nobu at 2006年09月27日 19:08
業務アプリでは、未選択状態(-1)にすることはほとんどありません。
たとえばComboBoxが10個もあるような入力画面の場合、項目が見えているListBoxと違い未選択では項目内容が判りませんし、指定するために10回もクリックしていくなど操作性が悪くなります。
そこでComboBoxでは何もしなくても自動で既定値(初期値)が表示されるようにコーディングするのが使い勝手のよいアプリにする条件なのです。
Posted by なっちゃん at 2006年09月27日 19:57
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。