none
C# listview控制选择某一行的问题 RRS feed

  • 问题

  • C#怎么让程序自动选择listview'控件中的某一行。并且在界面中显示出这一行是被显示状态,谢谢。
    2011年4月8日 16:54

答案

  • 你好,

     

    根据你的情况我在这边重现了一下,在选中某一项的时候你可以把焦点一同移过去,通过设置ListView项的Focused属性为真来实现。

     

    listView1.Items[1].Selected = true;

                listView1.Items[1].Focused = true;

    希望能解决你的问题。

     

    • 已标记为答案 pucx 2011年4月11日 14:30
    2011年4月11日 8:27

全部回复

  • 你好

    或者你可以嘗試使用SelectedIndex properties 來 定義 那一行你想自動選擇

    E.G.

    listView1.SelectedIndex = 1;

    并且在界面中显示出这一行是被显示状态

    你的意思是把他highlight
    還是 選出來..把他的內容出來

    如果把內容選擇出來可以嘗試加入

    ExampleObject obj = (ExampleObject "這個LISTVIEW 的 OBJECT COLLECTION 的類") listView1.SelectedItem();

    這便可以找出這個SELECTED ITEM 的內容出來了

    你便可以把這個OBJECT 的內顯示出來

    Please correct me if my concept is wrong


    Chi
    2011年4月8日 17:57
    版主
  • 使其highlight表示了,该怎么做呢?谢谢。


    2011年4月9日 12:21
  • 你好

    或者你可以嘗試設定

    ListView1.FullRowSelect = True

    當有LISTVIEW ITEM 被選中時

    他應該會HIGHLIGHT 了全行的

     

    Please correct me if my concept is wrong


    Chi
    • 已建议为答案 mazhou 2011年4月11日 9:42
    2011年4月9日 13:16
    版主
  • 不行啊,这是程序自动选的嘛。如果是鼠标选择那肯定会自动highlight的了。求正解,谢谢。

    2011年4月10日 10:08
  • listView1.Items[1].Selected = true;
                listView1.Focus();
    http://feiyun0112.cnblogs.com/
    • 已建议为答案 Milo Ren 2011年4月11日 2:37
    • 取消建议作为答案 Milo Ren 2011年4月11日 5:27
    2011年4月11日 1:58
    版主
  • 你好,你提供的方法可以实现,谢谢。但是还有一个问题,当选中一行数据时,本来highlight的时候外面会有一个虚线的边框,但是我listView1.Items[1].Selected = true;            listView1.Focus();之后,现在Items[1]被选中也被highlight了,但是其原来被鼠标选中过的项其外面仍然还留有一个虚线边框。请问这个虚线边框该怎么处理去掉呢?谢谢。
    2011年4月11日 4:44
  • 你好,

     

    你的情况是想让程序实现只选中你想要的项,但之前有其他项被选中过,就产生同时有几个选中项一起highlight的状况。这种情况你可以在选中之前先清空listView1的所有选中项,像如下这样:

               

               listView1.SelectedItems.Clear();

                listView1.Items[1].Selected = true;

                listView1.Focus();

     

     

     

    2011年4月11日 5:06
  • 不行,还是有那个虚线框存在
    2011年4月11日 6:27
  • 你好,

     

    根据你的情况我在这边重现了一下,在选中某一项的时候你可以把焦点一同移过去,通过设置ListView项的Focused属性为真来实现。

     

    listView1.Items[1].Selected = true;

                listView1.Items[1].Focused = true;

    希望能解决你的问题。

     

    • 已标记为答案 pucx 2011年4月11日 14:30
    2011年4月11日 8:27