プロが教える店舗&オフィスのセキュリティ対策術

こんばんは。
VB.NET、WinXPなのですが、
コンボボックスやリストボックスのアイテムに
別のデータ(テキスト文字列など)を一緒に
記憶させておくような方法があったと思いますが、
そのような方法は標準の機能ですか?
方法や名称だけでも教えて頂けると助かります。
よろしくおねがいします。m(__)m

A 回答 (4件)

お世話になります。



> コンボボックスやリストボックスのアイテムに
> 別のデータ(テキスト文字列など)を一緒に
> 記憶させておくような方法

記憶させておくような方法って...?
もうちょっと具体的に聞かないと解らないですけど、
VS2005 なら
My.Settings とか
http://www.microsoft.com/japan/msdn/vs05/vbasic/ …

PropertyBinding の事かな?
http://www.atmarkit.co.jp/fdotnet/dotnettips/438 …

この回答への補足

こんばんは。
ご回答ありがとうございます。
わかりにくい書き方をして申し訳ございませんでした。

当方が思っているのは、例えば
リストボックスにファイルをドラッグ&ドロップして
ファイル名を追加して、ファイルに何らかの処理を
したいプログラムを作るとすると、
リストボックスにファイル名がフルパスで表示されると
見た感じややこしくなるので、GetFileNameで
ファイル名のみを表示するようにして、
対応する番号にフルパスの文字列を入れておきたいと思っています。

配列を用意して、同じようなことをやったことがあるのですが、
以前どこかで配列を用いないで、コントロールの機能のような方法でやっているのを見たことがあって、
次に使う時はこの方法でやろうと思っていたのですが、
URLを覚えておくのを忘れてしまい、どのような方法だったのかわからなくなってしまいました。

もし何かありましたら、またご回答頂けると幸いです。

補足日時:2006/06/26 02:51
    • good
    • 0
この回答へのお礼

とても詳しくご説明をして頂きありがとうございます。
パソコンが不調に陥りパスワードを覚えていなかったので、
GOOIDにログインできなくなってしまい
お礼の書き込みが出来ずもうしわけございませんでした。

プログラム作成もその時から停止してしまっていましたので、
教えて頂いた方法を研究しつつ、もう一度作り直してみたいと思います。
ご丁寧に詳しく教えて頂き本当にありがとうございました。

お礼日時:2006/11/22 00:21

お世話になります。



それとも、こういう事?

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
    • good
    • 0

お世話になります。



では、こういう事でしょうか。
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
    • good
    • 0

参考URL


http://www1.mahoroba.ne.jp/~mitt/dotnet/WindowsF …
http://ja.gotdotnet.com/quickstart/winforms/doc/ …
など、検索エンジンで探せばわかると思います。
以上 参考まで

この回答への補足

こんばんは。
ご回答ありがとうございます。
今回探している方法は出ていないようなのですが、
とても参考になるページを教えて頂いてありがとうございます。
今後、虎の巻の一つとして活用させて頂こうと思います。
ありがとうございました。

補足日時:2006/06/26 03:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!