C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ListBox・MultiExtendedの動作について


(過去ログ 100 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■59986 / inTopicNo.1)  ListBox・MultiExtendedの動作について
  
□投稿者/ チョリソ (3回)-(2011/06/14(Tue) 21:20:57)

分類:[VB.NET/VB2005 以降] 

先ほどの質問(No59967)に関連し、VB.net(2008)のListBoxについて質問があります。
ListBoxのSelectinModeをMultiExtendedにして、CtrlキーやShiftキーで複数選択できるようにしたいのですが、
マウスダウンを行うと、マウスダウンを行ったアイテムのみの選択となってしまい、
せっかくCtrlキー等で複数選択したものが解除されてしまいます。
エクスプローラーの場合、ファイルをCtrlキー等で複数選択した状態で、選択されているファイルの場所で
マウスダウンを行っても複数選択状態は解除されません(マウスアップすると解除される)。
このエクスプローラーと同じ動作、つまり、マウスダウンの状態ではアイテムの複数選択状態が解除されない方法は
ないでしょうか?

引用返信 編集キー/
■59988 / inTopicNo.2)  Re[1]: ListBox・MultiExtendedの動作について
□投稿者/ 魔界の仮面弁士 (2221回)-(2011/06/14(Tue) 22:29:09)
No59986 (チョリソ さん) に返信
> エクスプローラーの場合、ファイルをCtrlキー等で複数選択した状態で、選択されているファイルの場所で
> マウスダウンを行っても複数選択状態は解除されません(マウスアップすると解除される)。
選択されたアイテムのドラッグ開始動作となる可能性があるためです。
解除されてしまったら、ドラッグできませんよね。


> このエクスプローラーと同じ動作、つまり、マウスダウンの状態ではアイテムの複数選択状態が解除されない方法は
> ないでしょうか?
ListBox の代わりに ListView を使ってみるとか。エクスプローラーと同様に。

Public Class Form1
    Private WithEvents ListBox1 As New ListBox()
    Private WithEvents ListView1 As New ListView()
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        ListBox1.SetBounds(0, 0, 150, 200)
        ListView1.SetBounds(180, 0, 150, 200)
        ListBox1.SelectionMode = SelectionMode.MultiExtended

        ListView1.MultiSelect = True
        ListView1.View = View.Details
       'ListView1.Columns.Add("").Width = ListView1.ClientSize.Width - SystemInformation.VerticalScrollBarWidth
        ListView1.Columns.Add("").Width = ListView1.ClientSize.Width
        ListView1.HeaderStyle = ColumnHeaderStyle.None
        ListView1.HideSelection = False
        ListView1.FullRowSelect = True

        ListBox1.Items.Add("ああああ")
        ListBox1.Items.Add("いいいい")
        ListBox1.Items.Add("うううう")
        ListBox1.Items.Add("ええええ")
        ListBox1.Items.Add("おおおお")

        ListView1.Items.Add("ああああ")
        ListView1.Items.Add("いいいい")
        ListView1.Items.Add("うううう")
        ListView1.Items.Add("ええええ")
        ListView1.Items.Add("おおおお")

        Controls.Add(ListBox1)
        Controls.Add(ListView1)

        Size = New Size(350, 250)
    End Sub
End Class

引用返信 編集キー/
■59994 / inTopicNo.3)  Re[2]: ListBox・MultiExtendedの動作について
□投稿者/ チョリソ (4回)-(2011/06/15(Wed) 09:00:18)
No59988 (魔界の仮面弁士 さん) に返信
>
>>このエクスプローラーと同じ動作、つまり、マウスダウンの状態ではアイテムの複数選択状態が解除されない方法は
>>ないでしょうか?
> ListBox の代わりに ListView を使ってみるとか。エクスプローラーと同様に。
>

魔界の仮面弁士さま、ご回答ありがとうございます。
ListViewいいですね。確かにエクスプローラーライクに動作しますね。

ありがとうございました。これにて解決です。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -