Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表视图选择矩形_C#_Winforms_Listview_Windows 7 - Fatal编程技术网

C# 列表视图选择矩形

C# 列表视图选择矩形,c#,winforms,listview,windows-7,C#,Winforms,Listview,Windows 7,可能重复: 我使用以下代码创建一个Listview,以使用Windows7本机外观并防止闪烁 但我还是得到了一个黑点矩形 问题是。。。如何实现资源管理器选择矩形 非常感谢您的帮助。基于AVIDeveloper提供的链接中的评论 虽然ShowFocus本身不起作用,但WM_改变了状态 在MSDN页面上列出的内容让我找到了正确的答案。通过发送 WM_CHANGEUISTATE消息与UISF_HIDEFOCUS我能够摆脱 焦点矩形泰拉诺2010年4月22日17:11 我试图找到一些关于这条消

可能重复:

我使用以下代码创建一个Listview,以使用Windows7本机外观并防止闪烁

但我还是得到了一个黑点矩形

问题是。。。如何实现资源管理器选择矩形


非常感谢您的帮助。

基于AVIDeveloper提供的链接中的评论

虽然ShowFocus本身不起作用,但WM_改变了状态 在MSDN页面上列出的内容让我找到了正确的答案。通过发送 WM_CHANGEUISTATE消息与UISF_HIDEFOCUS我能够摆脱 焦点矩形泰拉诺2010年4月22日17:11

我试图找到一些关于这条消息的信息,最终看到了这篇帖子:

因此,我们需要将WM_CHANGEUISTATE消息发送到构造函数中的ListView

SendMessage(Handle, 0x127, 0x10001, 0);
我们只会覆盖OnSelectedIndexChanged和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);
}
在不覆盖OnNet事件的情况下,ListView获得焦点时将显示相同的黑色虚线选择矩形


由于我英语说得不流利,我试图尽我所能解释清楚,如果有人有更好的答案,我会等待,然后再接受我的答案。

根据Avideveler提供的链接中的评论

虽然ShowFocus本身不起作用,但WM_改变了状态 在MSDN页面上列出的内容让我找到了正确的答案。通过发送 WM_CHANGEUISTATE消息与UISF_HIDEFOCUS我能够摆脱 焦点矩形泰拉诺2010年4月22日17:11

我试图找到一些关于这条消息的信息,最终看到了这篇帖子:

因此,我们需要将WM_CHANGEUISTATE消息发送到构造函数中的ListView

SendMessage(Handle, 0x127, 0x10001, 0);
我们只会覆盖OnSelectedIndexChanged和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);
}
在不覆盖OnNet事件的情况下,ListView获得焦点时将显示相同的黑色虚线选择矩形


由于我英语说得不流利,我试图尽我所能解释清楚,如果有人有更好的答案,我会等待,然后再接受我的答案。

谢谢链接@avideveler。谢谢链接@avideveler。