<form name="frm1">
<select name="permit">
<option value="0">いいよ</option>
<option value="3">駄目!</option>
</select>
<input type="button" value="OKv" onClick='alert(frm1.permit.value)'>
<input type="button" value="OKt" onClick='alert(frm1.permit.text)'>
</form>
Web上でこういうセレクトボックスがあったとして、画面上では「駄目!」が選択されているとします。
ここで「OKv」ボタンをクリックすると、その セレクトボックスpermit のvalueである"3"が表示されます。
ここで「OKt」ボタンをクリックすると、その セレクトボックスpermit のtextである"駄目!"が表示されます。
ウェブ上ではたったこれだけのことなんですが。
が、これをvb.net(vb 2005)でやろうとするとどうするのかわかりません・・。
comboboxのどこのプロパティに何をどうセットするのでしょうか。
ちょっと調べてみるとDataSource をセットして、DisplayMember がどうとか出てきましたが、そういうことをしないといけないのでしょうか。
こちらはDataSource も何もなく、手動で(コード上で)valueとtextを設定・取得したいだけなんですけど・・。
何か凄い間違ってるような気もするのですが・・そうでしたらその旨ご指摘くださいますようお願いします。
No.2ベストアンサー
- 回答日時:
WindowsFormでやりたいって事ですよね
VB.NETになってから コンボボックスのItemDataプロパティが削除されてしまいました
VB6コンパチライブラリを使えば ご希望の動作は可能です
メニューのプロジェクト > 参照の追加 で
『Microsoft.VisualBasic.Compatibility』選択して OK
フォームのコードウィンドウを開いて
先頭付近に
Imports Microsoft.VisualBasic.Compatibility
を記入
フォームに コンボボックス1個とボタン2個を貼り付けます
フォームをダブルクリックして Form_Loadイベントのスケルトンを作ります
ここに
dim n as Integer
n = ComboBox1.items.Add("いいよ")
VB6.SetItemData( ComboBox1, n, 0 )
n = ComboBox1.items.Add("駄目!")
VB6.SetItemData( ComboBox1, n, 3 )
とします
ボタン1をダブルクリックして Button1_clickイベントのスケルトンを作成します
ここに
dim n as Integer
if ComboBox1.SelectedIndex<> -1 then
n = VB6.GetItemData( ComboBox1.SelectedIndex )
MsgBox(n)
end if
ボタン2をダブルクリックしてスケルトンを作成します
if ComboBox1.SelectedIndex <> -1 then
MsgBox( ComboBox1.Text )
end if
といった具合で出来ると思います
おお、これは前の6.0のコンボボックスそのものですね。
ただ、当方はちょっとライブラリの追加等は若干制約があるので・・ちょっと相談してみます。
もしいけたら大変助かります。
ありがとうございました。
No.3
- 回答日時:
適当な構造体データを作るって方法はどうでしょうか?
Public Class Form1
'コンボに表示するデータ
Private Structure comboData
Public key As Integer
Public data As String
'new(新規データ時)
Public Sub New(ByVal key As Integer, ByVal data As String)
Me.key = key
Me.data = data
End Sub
'tostring(コンボボックスで表示されるようにするため)
Public Overrides Function ToString() As String
Return data
End Function
End Structure
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add(New comboData(0, "いいよ"))
ComboBox1.Items.Add(New comboData(3, "駄目!"))
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.SelectedIndex > -1 Then
MessageBox.Show(ComboBox1.Items(ComboBox1.SelectedIndex).key)
MessageBox.Show(ComboBox1.Items(ComboBox1.SelectedIndex).data)
End If
End Sub
End Class
p.s.
本当はkeyとdataをPublicにしないでProperty作った方が良いので、下の方がいいかも・・・
Private Structure comboData
Private _key As Integer
Private _data As String
Public Sub New(ByVal key As Integer, ByVal data As String)
_key = key
_data = data
End Sub
Public Overrides Function ToString() As String
Return _data
End Function
Public ReadOnly Property key() As Integer
Get
Return _key
End Get
End Property
Public ReadOnly Property data() As String
Get
Return _data
End Get
End Property
End Structure
どちらにしろ面倒ですよね・・・・(6.0やWebと比較の場合)
もっと簡単な方法(数行で済むような)がないのかなぁ、皆はどうやってるんだろう、と思っていましたが、諦めることにします。
教えていただいた方法は参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンとCSVの連動
-
PHP セレクトボックスの値 GET...
-
phpのプルダウンメニューで選ん...
-
複数 selectフォームから今回on...
-
【PHP&JavaScript】複数の別ウ...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
PHPで画像の渡しが上手く行きま...
-
ファイルアップローダーで送信...
-
phpのカウンタのリセット方法
-
HTMLで前の画面に戻る時、入力...
-
phpでチェックボックスでの値の...
-
テキストボックスに初期値を入れる
-
laravelを利用してコントロール...
-
phpでの複数選択チェックボック...
-
PHPの初心者です。現在チェック...
-
<input type="hidden" >で配列...
-
formの外にあるチェックボック...
-
複数行のデータ一括更新に関して
-
PHP ボタンが押されたら処理を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
「"」(ダブルクォーテーション)...
-
ラジオボタンの値を受け取ってP...
-
<select>文、foreachと初期値設定
-
phpでのセレクトボックスの値を...
-
php セレクトボックス 値取得
-
複数のセレクトボックスを1つに...
-
複数 selectフォームから今回on...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
foreachで次の行の値を取得して...
-
ウェブ上で選択した複数行の内...
-
CodeIgniter/set_value()
-
ループ処理
-
連動させたいセレクトボックス...
-
現在時刻を反映させた時刻のプ...
-
プルダウンリスト(コンボボッ...
-
PHP で画面の一部だけを変えたい。
-
phpでカレンダー作成
-
プルダウンで選択された値を保持
おすすめ情報