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。