AVIDeveloper에서 제공하는 링크의 주석을 기반으로합니다. ShowFocusCues 자체가 작동하지 않는 동안
, 그 MSDN 페이지에 나와있는 WM_CHANGEUISTATE 정답으로 나를 이끌었다. UICF_HIDEFOCUS로 WM_CHANGEUISTATE 메시지를 보내면 포커스 사각형을 제거 할 수있었습니다. - Telanor 사월 22 '10 17시 11분
에서 나는이 메시지에 대한 몇 가지 정보를 찾기 위해 노력하고 eventualy이 게시물보고 : http://cboard.cprogramming.com/csharp-programming/128345-listview-remove-focuscues.html#post958690
그래서, 우리는에있는 ListView에 WM_CHANGEUISTATE 메시지를 보낼 필요를 생성자
SendMessage(Handle, 0x127, 0x10001, 0);
그리고 우리는 OnSelectedIndexChanged 및 OnEnter 이벤트를 재정의 할 것입니다. ListView에 포커스를 얻을 때 OnEnter 이벤트를 무시하지 않고
protected override void OnSelectedIndexChanged(EventArgs e)
{
base.OnSelectedIndexChanged(e);
SendMessage(Handle, 0x127, 0x10001, 0);
}
protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);
SendMessage(Handle, 0x127, 0x10001, 0);
}
는 같은 검은 색 점선 선택 사각형이 나타납니다.
나는 유창한 영어 강사가 아니기 때문에 가능한 최선을 설명하려고 노력했다. 누군가 내 대답을 듣기 전에 더 좋은 대답을하면 기다릴 것이다.
@AVIDeveloper 링크를 이용해 주셔서 감사합니다. –