プログラミング

プログラミングに関するフォーラムです。VBAは除きます。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : VB .net)
ListBoxの列見出しについて
投稿日時: 22/06/28 11:39:27
投稿者: masawa
メールを送信

VBAでリストボックスを作成した場合
  With ListBox1
    .ColumnCount = 2
    .ColumnHeads = False
    .ColumnWidths = "100,100"
  End With
のように列見出しを設定できるのですが、VB.NETではうまくできません。
どなたかご存じであればご教授お願い致します。

回答
投稿日時: 22/06/28 14:33:13
投稿者: taitani
投稿者のウェブサイトに移動
投稿日時: 22/06/28 16:08:41
投稿者: masawa
メールを送信

早速ありがとうございます。
初心者ですので応用が利きません。
せっかくのアドバイスですが活かすことが出来ませんでした。
もう少し考えてみます。
有難うございました。

回答
投稿日時: 22/06/28 16:23:24
投稿者: taitani
投稿者のウェブサイトに移動

ちなみに、どんなコードを書いて、どんなエラーが表示されていますでしょうか。

投稿日時: 22/06/28 16:57:49
投稿者: masawa
メールを送信

有難うございます。
Sub LsBDrPas(iObj1 As Object, iObj2 As Object)
        Dim ss As String, lkj As Integer, fs As Long, kk As Integer, rc, n, k As Integer
        Dim filePath As String = TextBox8.Text
 
        With ListBox1
            .ColumnCount = 2-----------"ColumCountはListBoxのメンバーではありません。"
            .ColumnHeads = False-------"ColumnHeadsはListBoxのメンバーではありません。"
            .ColumnWidths = "100,200"--"ColumnWidthsはListBoxのメンバーではありません。"
        End With
 
        Dim lsb() As String
        LListData = Replace(LListData, ",", vbCrLf)
        'Debug.Print(LListData)
        lsb = Split(LListData, vbCrLf)
 
        For i = 0 To Kosuu - 1
            ListBox1.Items.Add(filePath & lsb(i))
        Next
 
        For i = 0 To Kosuu - 1
            lsb(i) = ""
        Next
 
    End Sub
ListView1からListBox1へドラッグ&ドロップしそれをパスとファイル名に分けて表示したいと思っています。
With ListBox1以下三行がエラーです。
VBAのコードをそのまま書いただけです。
よろしくお願いします。

回答
投稿日時: 22/06/28 21:23:29
投稿者: MMYS

VBAのコントロールと
Net.Frameworkのコントロールは別物ですから標準では出来ないと思います。
 
一応、ListBoxを継承して、プロパティを自前で実装、オーナードローで描写すれば可能です。でも、そこまでするメリットは無いでしょう。
 
ListBoxではなく、DataGridViewかListViewを使えば、ご要望は叶います。
 

投稿日時: 22/06/29 11:41:07
投稿者: masawa
メールを送信

アドバイス有難うございます。
VBAとは別物と分かれば納得できました。
パスとファイル名を分けて取得することがVB.NETでも簡単にできると思っていました。
2列配列で取得できそうなのでその方法で進めます。
それから、仰るようにLstViewを使うのもいいのですが既にフォームを作ってしまいました。
リストボックスの数が多過ぎて書き換えるのが大変なので2列配列で進めます。
有難うございました。
今後ともよろしくお願い致します。