ComboBoxについて への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 ヴァン  (社会人)
投稿日時
2009/12/9 18:55:56
初めはデータをクラス化してDataSourceにバインドしてとか考えたけど、
そこまでは必要ないのね。
だったらシンプルに
そこまでは必要ないのね。
だったらシンプルに
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim items As String() = {"A", "B", "C"}
ComboBox1.Items.AddRange(items)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Select Case ComboBox1.Text
Case "A"
' Aの処理
Case "B"
' Bの処理
Case "C"
' Cの処理
End Select
End Sub
投稿者 葉月  (社会人)
投稿日時
2009/12/9 09:17:09
>>>fshyさん
アドバイスありがとうございます。
サンプルなので――といいたい所ですが、他でも結構使ってた気がします。
今後、アドバイスを役立てていこうと思います。
>>>流れ者さん
他のスレでも的確なアドバイスを拝見しまして、
せっかくなのでご挨拶いたしました。
今後ともよろしくお願いします。
アドバイスありがとうございます。
サンプルなので――といいたい所ですが、他でも結構使ってた気がします。
今後、アドバイスを役立てていこうと思います。
>>>流れ者さん
他のスレでも的確なアドバイスを拝見しまして、
せっかくなのでご挨拶いたしました。
今後ともよろしくお願いします。
投稿者 流れ者  (その他)
投稿日時
2009/12/9 04:02:39
こんばんは。
suigさんが初心者であることを考慮すると
とりあえず、あにすさんのサンプルを元に、Select Caseで実現するのが早道かもしれませんね。
それで出来たソースを元に、葉月さんのサンプルのような、複数の要素を一括して入れる方法や
daiveさんが示した他の方法を試したほうが、混乱をきたさないと思います。
suigさんが初心者であることを考慮すると
とりあえず、あにすさんのサンプルを元に、Select Caseで実現するのが早道かもしれませんね。
それで出来たソースを元に、葉月さんのサンプルのような、複数の要素を一括して入れる方法や
daiveさんが示した他の方法を試したほうが、混乱をきたさないと思います。
投稿者 (削除されました)  ()
投稿日時
2009/12/9 03:47:21
(削除されました)
投稿者 suig  (中学生)
投稿日時
2009/12/9 03:24:05
やっぱり、応用が難しいのでもう一度質問させていただきます。
最初に加えて変数a,b,c,d,eがあるとします。
Aを選択すればa=3,b=1,c=2,d=2,e=2とします。
同様にしてB、Cもあり、Bの場合はa=1,b=3・・・と言うように、一つ選択すれば、複数の変数の値が決まるようにするにはどうしたらいいでしょうか?
最初に加えて変数a,b,c,d,eがあるとします。
Aを選択すればa=3,b=1,c=2,d=2,e=2とします。
同様にしてB、Cもあり、Bの場合はa=1,b=3・・・と言うように、一つ選択すれば、複数の変数の値が決まるようにするにはどうしたらいいでしょうか?
投稿者 fshy  (社会人)
投稿日時
2009/12/8 12:35:41
dataはそもそもが複数形なのでstrDatasは少し違和感が、、、。
因みに単数形はdatum
因みに単数形はdatum
投稿者 suig  (中学生)
投稿日時
2009/12/8 07:11:48
皆さん、有り難うございます。
サンプルじゃ無いので大丈夫です。
(いきなり自作のものを作ってるんです)
頑張って応用します。
でも、また質問するかもしれませんw
サンプルじゃ無いので大丈夫です。
(いきなり自作のものを作ってるんです)
頑張って応用します。
でも、また質問するかもしれませんw
投稿者 葉月  (社会人)
投稿日時
2009/12/8 07:03:38
サンプルを作っていたら被りましたね。
動きは違うので、一応自分のもあげておきます。
動きは違うので、一応自分のもあげておきます。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 格納するアイテム
Dim strDatas As String() = {"10", "20", "30"}
ComboBox1.Items.AddRange(strDatas)
End Sub
' 意図を間違えて関係のないコードを書きました。
' ボタンを押すと全体に10加算します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' ComboBoxのアイテム数
Dim iLen As Integer = ComboBox1.Items.Count
If iLen <= 0 Then
Return
End If
' 一時的に格納
Dim arItems As New ArrayList()
' ComboBoxから取得する値
Dim iVal As Integer = 0
For Each strVal As String In ComboBox1.Items
iVal = Integer.Parse(strVal) + 10
arItems.Add(iVal)
Next
' 全アイテム消去
ComboBox1.Items.Clear()
ComboBox1.BeginUpdate()
ComboBox1.Items.AddRange(arItems.ToArray())
ComboBox1.EndUpdate()
End Sub
' 選択したアイテムを10プラスします。
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
' 選択番号
Dim iIndex As Integer = ComboBox1.SelectedIndex()
' 値
Dim iVal As Integer = Integer.Parse(ComboBox1.Items(iIndex)) + 10
ComboBox1.Items.Remove(ComboBox1.SelectedItem)
ComboBox1.Items.Insert(iIndex, iVal)
End Sub
End Class
投稿者 あにす  (社会人)
投稿日時
2009/12/8 06:41:55
意図はこんな感じですか?
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For hoge As Hoge = hoge.A To hoge.C
Me.ComboBox1.Items.Add(hoge)
Next
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim X As Integer = Me.ComboBox1.SelectedItem * 10
Me.Label1.Text = "X = " + X.ToString()
End Sub
End Class
Enum Hoge
A = 1
B
C
End Enum
投稿者 suig  (中学生)
投稿日時
2009/12/8 04:02:24
プログラミングを興味本位で始めたばかりの超初心者です。
ネットで多少学んだ位の知識しかありません。
早速質問させていただきます。
ComboBox(横の↓を押したら一覧が出てくる奴)について質問します。
プログラムの中でこれを使いたいのですが、使い方がわかりません。
率直に言うと下記の様なことの仕方を聞きたいのです。
①その一覧をA、B、Cの三つにしたいとします。
②Aを選んだ場合1の数値を、Bの場合2の数値を、Cは3の数値にして、Xの計算式に代入したいとします。
X=ComboBoxで選ばれた値+10
簡単に言うとこの2点を質問したいと思います。
実際こんな簡単な訳が無いのですが、これがわかれば応用ができます。種類が変わったり、数字が変わったりするだけですから。
初めての投稿になります。かなり初心者なので、用語が間違ってたり(ComboBoxで合ってるのかな?)言い回しが変だったりすることが多いと思います。だいたいの意味をわっかてくだされば、多めに見ていただけると嬉しいです。でも、意味が通じなかったら意味がないので聞いていただけると嬉しいです。
あと、あまり難しく言われるとわからないので、できるだけ簡単に説明していただけると有り難いです。
では、回答よろしくお願いします。
因みに、使用しているvbはvb2008のエクスプレスエディションです。
一応書いておくと、windows vista home premium です。
ネットで多少学んだ位の知識しかありません。
早速質問させていただきます。
ComboBox(横の↓を押したら一覧が出てくる奴)について質問します。
プログラムの中でこれを使いたいのですが、使い方がわかりません。
率直に言うと下記の様なことの仕方を聞きたいのです。
①その一覧をA、B、Cの三つにしたいとします。
②Aを選んだ場合1の数値を、Bの場合2の数値を、Cは3の数値にして、Xの計算式に代入したいとします。
X=ComboBoxで選ばれた値+10
簡単に言うとこの2点を質問したいと思います。
実際こんな簡単な訳が無いのですが、これがわかれば応用ができます。種類が変わったり、数字が変わったりするだけですから。
初めての投稿になります。かなり初心者なので、用語が間違ってたり(ComboBoxで合ってるのかな?)言い回しが変だったりすることが多いと思います。だいたいの意味をわっかてくだされば、多めに見ていただけると嬉しいです。でも、意味が通じなかったら意味がないので聞いていただけると嬉しいです。
あと、あまり難しく言われるとわからないので、できるだけ簡単に説明していただけると有り難いです。
では、回答よろしくお願いします。
因みに、使用しているvbはvb2008のエクスプレスエディションです。
一応書いておくと、windows vista home premium です。
目的のプログラムが無事完成致しました。
今から思い返してみると、かなり単純な事を質問していますねw
いろいろ勉強になりました。
有り難うございました