- ベストアンサー
コンボボックスのアイテムにデータを付ける方法を教えて VB.NET
こんばんは。 VB.NET、WinXPなのですが、 コンボボックスやリストボックスのアイテムに 別のデータ(テキスト文字列など)を一緒に 記憶させておくような方法があったと思いますが、 そのような方法は標準の機能ですか? 方法や名称だけでも教えて頂けると助かります。 よろしくおねがいします。m(__)m
- popopompom
- お礼率43% (75/173)
- Visual Basic
- 回答数4
- ありがとう数1
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 > コンボボックスやリストボックスのアイテムに > 別のデータ(テキスト文字列など)を一緒に > 記憶させておくような方法 記憶させておくような方法って...? もうちょっと具体的に聞かないと解らないですけど、 VS2005 なら My.Settings とか http://www.microsoft.com/japan/msdn/vs05/vbasic/vbmysettings.asp PropertyBinding の事かな? http://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
その他の回答 (3)
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 それとも、こういう事? Public Class Form4 Private m_datasource As DataTable Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ListBox1.SelectionMode = SelectionMode.One Me.ListBox1.AllowDrop = True Me.m_datasource = New DataTable Me.m_datasource.Columns.Add("shortFileName", GetType(String)) Me.m_datasource.Columns.Add("fullFileName", GetType(String)) Me.ListBox1.DataSource = Me.m_datasource Me.ListBox1.DisplayMember = "shortFileName" Me.ListBox1.ValueMember = "fullFileName" End Sub Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub Private Sub ListBox1_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragOver If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim s() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) For i As Integer = 0 To s.Length - 1 Me.m_datasource.Rows.Add(New String() {System.IO.Path.GetFileName(s(i)), s(i)}) Next End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For Each row As DataRow In Me.m_datasource.Rows Console.WriteLine("ファイル名:" & Convert.ToString(row("shortFileName"))) Console.WriteLine("パス:" & Convert.ToString(row("fullFileName"))) Next End Sub End Class
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 では、こういう事でしょうか。 Public Class Form3 Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.ListBox1.SelectionMode = SelectionMode.One Me.ListBox1.AllowDrop = True End Sub Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub Private Sub ListBox1_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragOver If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim s() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) For i As Integer = 0 To s.Length - 1 Me.ListBox1.Items.Add(New TestFile(s(i))) Next End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For Each testFileObject As TestFile In Me.ListBox1.Items Console.WriteLine("ファイル名:" & testFileObject.ShortFileName) Console.WriteLine("パス:" & testFileObject.FullFileName) Next End Sub End Class Public Class TestFile Private m_shortFileName As String Private m_fullFileName As String Public Sub New(ByVal fullPath As String) Me.m_fullFileName = fullPath Me.m_shortFileName = System.IO.Path.GetFileName(fullPath) End Sub Public ReadOnly Property ShortFileName() As String Get Return Me.m_shortFileName End Get End Property Public ReadOnly Property FullFileName() As String Get Return Me.m_fullFileName End Get End Property Public Overrides Function ToString() As String Return Me.ShortFileName End Function End Class
- NOBNNN
- ベストアンサー率50% (93/186)
参考URL http://www1.mahoroba.ne.jp/~mitt/dotnet/WindowsForm/Control_ComboBox01.htm http://ja.gotdotnet.com/quickstart/winforms/doc/ControlRef/ComboBoxCtl.aspx など、検索エンジンで探せばわかると思います。 以上 参考まで
補足
こんばんは。 ご回答ありがとうございます。 今回探している方法は出ていないようなのですが、 とても参考になるページを教えて頂いてありがとうございます。 今後、虎の巻の一つとして活用させて頂こうと思います。 ありがとうございました。
関連するQ&A
- VB.NETコンボボックスのセンタリング
VB.NETの標準コントロールのコンボボックスを使用して 開発を進めています。 コンボボックスにはセンタリング機能というものはあるのでしょうか?テキストボックスにはTextAlignというプロパティが存在しますが・・・。 存在しないようであれば、プログラム内で数字は右詰め、文字列は左詰めという風に設定したいと思うのですが、やり方がわかりません。 どなたかご存知の方、アドバイスお願いします。
- 締切済み
- その他(プログラミング・開発)
- コンボボックスのセンタリング
初めて質問させていただきます。 VBの標準コントロールのコンボボックスを使用して 開発を進めています。 コンボボックスにはセンタリング機能というものはあるのでしょうか?テキストボックスにはTextAlignというプロパティが存在しますが・・・。 存在しないようであれば、プログラム内で数字は右詰め、文字列は左詰めという風に設定したいと思うのですが、やり方がわかりません。 どなたかご存知の方、アドバイスお願いします。
- 締切済み
- Visual Basic
- ウェブサイトのコンボボックスのアイテムを取得したいVB.NET
ブラウザに表示されているコンボボックスのアイテムの文字列を取得したいです。 出来ればそのコンボボックスに登録されているものを 全部取得したいのですが、1つだけでも構いません。 a = AxWebBrowser1.Document.forms(0).Elements("ComboBox1").text 上記のような方法で取得しようとしているのですが、 .text の場合はHTMLSelectElementClassのメンバではないというエラーが出てしまいます。 Valueですと選択しているインデックス番号が取得できるのですが、 そうではなくて実際に表示される文字列を取得したいです。 あとこれを取得することが出来た場合、 For Nextで0~10などで AxWebBrowser1.Document.forms(0).Elements("ComboBox1").Value = i で選択を変更しては、取得するということを繰り返して 登録されているアイテム全てを取得しようと思っているのですが、 一度に全部取得する方法がありましたら教えて頂きたいです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VB6.0 リストボックスやコンボボックスについて
環境VB6.0、WinXPです。 現在VB6.0について、独学で学んでいます。 インターネットにて下記のサイトを見つけました。 http://www4.plala.or.jp/tamo/vb/vb99.html このサイトの課題5と6でつまづいています。 5に関しては、文字を分割して表示するプログラムなのですが、毎回違う値が入ってくることを想定すると、どのようにして一文字ずつリストボックスに表示すれば良いのか分かりません。 6に関しては、コンボボックスの全値を取得できるような方法があるのでしょうか? 初心者なので、コードなど参考になるものを教えていただければ幸いです。 どなたかご教授下さい。お願いいたします。
- ベストアンサー
- Visual Basic
- VBでコンボボックスとテキストボックスの連係
VBでフォームにデータコンボボックスとテキストボックスを一つづつ作り、データコンボボックスで値を選択し、その値に対する値をテキストボックスに表示させたいんですがどうすればいいでしょうか? データコンボボックスで選択する元になるテーブルは ID | 商品 1 | みかん 2 | ばなな 3 | りんご と、上記のような形のテーブルをもちいています。 例えばデータコンボボックスで「1」を選択した場合テキストボックスに「みかん」と表示させたいです。
- ベストアンサー
- Visual Basic
- VB2008でのコンボボックスの扱いについて
VB2008でのコンボボックスの扱いについて 教えてください。 コード(3桁)と名称をコンボに設定したいの ですが、 例えばコード1桁の時、3桁の時でも後に続く 名称の先頭を揃えたいのですが。 VB6の時は .AddItem Format("01", "@@@!") & "名称"で できたのですが。 VB2008で .Items.Add("01".PadRight(3) & 名称)で 実行すると微妙にずれるのですが。 何か良い方法を教えて頂きたいのですが。
- ベストアンサー
- Visual Basic
- データと直結したコンボボックスについて
初めて質問します。 VB6とオラクルでの開発でコンボボックスを使います。 ユーザーの要望は、途中まで入力した内容に合うデータをコンボボックスのリストに表示して欲しいとのことなのですが、VBに入っている通常のコンボボックスで対応できるんでしょうか? また、出来なければ利用可能なツールなどがありましたら教えてください。
- ベストアンサー
- Visual Basic
- VBでコンボボックスをテーブルのように扱いたい
VB.net 2010での質問です。 外部テキストファイルを読み込んで、フォーム上のコンボボックスに入れるのは簡単にできましたが、 ボタンを押したときに、選んだコンボボックスの該当データのうち一部だけを取り出して他データとからめつつ処理して表示させたいのです。 テキストファイルが以下のようになっています。データ件数は多くはありません。 阿部,北海道,10001,2001/05/01 山崎,東京都,11111,2003/09/25 ボタンを押した時には、別のテキストボックスに 山崎 - 10001 と表示させたいのです。贅沢を言えば、コンボボックスには人名のみが表示されるようにできれば素晴らしいです。 どうかよろしくお願いします。
- ベストアンサー
- Visual Basic
- VB.NET コンボボックスからのitem名のTEXTとりいれについて
VB.NET 勉強しはじめてまだ3ヶ月の初心者です。 (もし、表現が幼稚ならお許しください。) コンボボックスに3個(りんご、バナナ、みかん)のITEMがあります。 まず、りんごをボックスから選んだと同時に、にわざわざ、"りんご”というtextは別には書かないで、そのままボックスにでているりんごの表示をを果物名(labelFruits) に持ってきたいのですが。できますでしょうか。 me.labelFruits.text = ??????? 果物名以外の表示には収穫量、消費量など計算させるところがあります。
- ベストアンサー
- Visual Basic
- VB.NET2003のDataGridでコンボボックス
こんにちは。 最近VB.NET(2003)を始めたばかりの初心者です。 DataGridにコンボボックスを作成する方法を探してまして、 http://dobon.net/vb/dotnet/datagrid/datagridcombobox.html に書いてあるようにDataGridTextBoxColumnクラスからの派生クラスを作成して呼び出してみました。 そうしたところ、コンボボックスが表示され、データのセットもきちんとできました。 しかし、そのコンボボックスで選択している値を取得する方法がわからなく困ってます。 たとえば Dim comboSorce As New DataTable("ComboBox") comboSorce.Columns.Add("DisplayMember", GetType(String)) comboSorce.Columns.Add("ValueMember", GetType(Integer)) comboSorce.Rows.Add(New Object() {"OK", 0}) comboSorce.Rows.Add(New Object() {"NG", 1}) というデータをコンボボックスにセットした場合 OK,NGという表示上の値は CStr(DataGrid1(row,col)) で取得できますが、実際の値を取得する方法がわかりません。 ご存知の方いらっしゃいましたら、ご教授ください。 それと、行毎に違う値(リストデータ)のコンボボックスを作成することはできますでしょうか? 以上です。よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
とても詳しくご説明をして頂きありがとうございます。 パソコンが不調に陥りパスワードを覚えていなかったので、 GOOIDにログインできなくなってしまい お礼の書き込みが出来ずもうしわけございませんでした。 プログラム作成もその時から停止してしまっていましたので、 教えて頂いた方法を研究しつつ、もう一度作り直してみたいと思います。 ご丁寧に詳しく教えて頂き本当にありがとうございました。
補足
こんばんは。 ご回答ありがとうございます。 わかりにくい書き方をして申し訳ございませんでした。 当方が思っているのは、例えば リストボックスにファイルをドラッグ&ドロップして ファイル名を追加して、ファイルに何らかの処理を したいプログラムを作るとすると、 リストボックスにファイル名がフルパスで表示されると 見た感じややこしくなるので、GetFileNameで ファイル名のみを表示するようにして、 対応する番号にフルパスの文字列を入れておきたいと思っています。 配列を用意して、同じようなことをやったことがあるのですが、 以前どこかで配列を用いないで、コントロールの機能のような方法でやっているのを見たことがあって、 次に使う時はこの方法でやろうと思っていたのですが、 URLを覚えておくのを忘れてしまい、どのような方法だったのかわからなくなってしまいました。 もし何かありましたら、またご回答頂けると幸いです。