Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Cách Focus Item trong ListView ?

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    8

    Mặc định Cách Focus Item trong ListView ?

    Chào anh em !
    Vấn đề đặt ra với mình bây giờ là : Có một Listview có rất nhiều Item đã được add, chính vì vậy sẽ xuất hiện các scrollbar để ta duyệt được tất cả các Item trong listview bằng cách kéo lên kéo xuống cái scrollbar đó.

    Cái đáng quan tâm lúc này là làm thế nào có thể focus được một Item bất kỳ trong cái Listview này khi đã biết được index của item đó mà không cần phải kéo lên kéo xuống cái scrollbar đó, giống như chúng ta vẫn hay dùng Lac Viet để tra từ điển, muốn tra từ nào đó trong cái list của Lac Viet ta chỉ cần type từ đó vào trong một cái textbox, ấn enter nó sẽ tự nhảy đến cái item trong từ điển đó.

    Anh em có cao kiến gì không ?

  2. #2
    Ngày gia nhập
    10 2007
    Bài viết
    37

    Visual C# Code:
    1. Select ListViewItem dựa vào index
    2. - ListView.Items[index].Selected = true;
    3.  
    4. Lạc Việt người ta dùng ListBox mà.
    5. =>ListBox phải đc sắp xếp trước.
    6. //tìm string
    7. ListBox.FindString(string);
    8. //set focused item tại vị trí index
    9. listBox.SetSelected(index, true); //true: select, false: clear select

    Vui lòng để code vào tag code. Đọc Nội quy để biết thêm chi tiết
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 28-03-2008 lúc 01:14 AM. Lý do: Nhắc nhở

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    5

    Code:
    C Win32:
    BOOL ListView_EnsureVisible(
        HWND hwnd,
        int i,
        BOOL fPartialOK
    );
    hwnd: Handle to the list-view control.
    i: Index of the list-view item.
    fPartialOK: Value specifying whether the item must be entirely visible. If this parameter is TRUE, no scrolling occurs if the item is at least partially visible.
    (MSDN)

  4. #4
    Ngày gia nhập
    11 2010
    Bài viết
    7

    Thế thì cho mình hỏi trong cái Scrollbar, khi focus tại 1 vị trí khuất trong scrollbar thì làm thế nào để thanh scroll cuộn xuống vị trí focus ( trường hợp dùng nút last, first..) để hiện vị trí đó lên, mà không cần phải kéo chuột.

  5. #5
    Ngày gia nhập
    07 2009
    Bài viết
    23

    Trích dẫn Nguyên bản được gửi bởi huongsen002 Xem bài viết
    Thế thì cho mình hỏi trong cái Scrollbar, khi focus tại 1 vị trí khuất trong scrollbar thì làm thế nào để thanh scroll cuộn xuống vị trí focus ( trường hợp dùng nút last, first..) để hiện vị trí đó lên, mà không cần phải kéo chuột.
    Mình cũng đang bị trường hợp đó đây:
    lv.Focus()
    lv.Items[j].Selected = true;
    lv.Items[j].Focused = true;
    SendKeys.Send("{LEFT}"); Mình dùng cách này để giải quyết.
    Nhưng cách sendkeys chỉ sử dụng trong môi trường WinXp, còn sang Win7 thì bó tay.
    Có cao thủ nào có kinh nghiệm chỉ giáo cho anh em, mình làm đến cái này thì tức quá. (đã hỏi nhiều diễn dàn nhưng chẳng thấy ai trả lời mát bụng..

  6. #6
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    Mặc định Cách Focus Item trong ListView ?

    còn sang Win7 thì bó tay.
    sendKeys lý do gì win 7 bó tay ? ko hiểu . mà thanh cuộn muốn nó chạy xuống dưới sao lại gửi phím
    arrow left

  7. #7
    Ngày gia nhập
    02 2013
    Bài viết
    219

    Trích dẫn Nguyên bản được gửi bởi huongsen002 Xem bài viết
    Thế thì cho mình hỏi trong cái Scrollbar, khi focus tại 1 vị trí khuất trong scrollbar thì làm thế nào để thanh scroll cuộn xuống vị trí focus ( trường hợp dùng nút last, first..) để hiện vị trí đó lên, mà không cần phải kéo chuột.
    Visual C# Code:
    1. ListView1.Items[index].EnsureVisible();
    Lúc nào cũng lãng đãng như người trên mây

    Những người mới : Hãy tìm hiểu luật lệ diễn đàn trước khi post bài !

  8. #8
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    ơ thế nếu ListView nằm trên ứng dụng khác thì Focus và kéo thanh cuộn bằng code ntn

  9. #9
    Ngày gia nhập
    07 2009
    Bài viết
    23

    ở WinXP ấn phím mủi tên trái hay phải gì thì thanh cuộn sẽ cuộn xuống chổ đang focus còn Win7 thì nó không cuộn. Cái đó do WIN.
    Trích dẫn Nguyên bản được gửi bởi trinvh Xem bài viết
    Visual C# Code:
    1. ListView1.Items[index].EnsureVisible();
    Cám ơn bạn TrinhVH. Mình cũng đã tìm được cách giải quyêt giống như bạn. Cái mà mình cần là .EnsureVisible()
    Chúc bạn nhiều sức khỏe.

  10. #10
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    đúng là để kéo khung nhìn ListView đến chỗ Item mong muốn người ta sẽ dùng
    Visual C# Code:
    1. ListView1.Items[index].EnsureVisible();
    chứ ko SendKeys.Send ("{DOWN}")
    nhưng đừng đầu độc các bạn đến sau vào đọc Topic này với tuyên bố
    sang Win7 thì bó tay.
    hãy up Demo Project lên chứng tỏ cho mọi người thấy SendKeys.Send ko làm việc với Win 7 .
    nếu ko chứng minh dc thì làm ơn bớt dùm cái kiểu
    Cái đó do WIN

Các đề tài tương tự

  1. Phân biệt đang focus mẫu tin hay add new item
    Gửi bởi ndnhan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 02-12-2013, 03:00 PM
  2. Select item trong listview khi biết index của item
    Gửi bởi dotritiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 16-09-2011, 11:19 AM
  3. Trả lời: 4
    Bài viết cuối: 11-09-2011, 06:10 PM
  4. Load 1 Item lên Listview sau đó Select Item đó
    Gửi bởi minhquan22 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-11-2010, 10:01 AM
  5. focus vào môt items trong listview
    Gửi bởi lu_ngovan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 26-05-2010, 01:02 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn