如何保持选中的项目? - 列表显示

2023-12-12

当用户单击没有项目的空间时,我想在 ListView 上保持选中的项目。例如,项目下方的空间,但仍在 ListView 组件上。我已将 ListView 属性“HideSelection”更改为 false,但这仅在焦点更改为另一个组件时才有效;当用户单击 ListView 本身时不会。谢谢!


这是您通常不应该修复的问题。用户故意点击了某个地方,这很可能是因为她wanted取消选择一个项目。如果这是无意的,那么她会明白发生了什么并知道如何纠正。为标准控件提供非标准行为往往只会让用户感到困惑。

但你可以修复它。您需要防止本机 ListView 控件看到单击。这需要重写 WndProc() 方法并检查单击发生的位置。将新类添加到您的项目中并粘贴下面所示的代码。编译。将新控件从工具箱顶部拖放到窗体上。

using System;
using System.Drawing;
using System.Windows.Forms;

class MyListView : ListView {
  protected override void WndProc(ref Message m) {
    if (m.Msg == 0x201 || m.Msg == 0x203) {  // Trap WM_LBUTTONDOWN + double click
      var pos = new Point(m.LParam.ToInt32());
      var loc = this.HitTest(pos);
      switch (loc.Location) {
        case ListViewHitTestLocations.None:
        case ListViewHitTestLocations.AboveClientArea:
        case ListViewHitTestLocations.BelowClientArea:
        case ListViewHitTestLocations.LeftOfClientArea:
        case ListViewHitTestLocations.RightOfClientArea:
          return;  // Don't let the native control see it
      }
    }
    base.WndProc(ref m);
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何保持选中的项目? - 列表显示 的相关文章

  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 为什么基类必须有一个带有 0 个参数的构造函数?

    这不会编译 namespace Constructor0Args class Base public Base int x class Derived Base class Program static void Main string a
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat

随机推荐

  • OneDrive API Node.js - 无法使用 :/createUploadSession 内容范围错误

    我的问题是我无法上传大于 4MB 的文件 因此我根据以下内容使用了 createuploadsession创建上传会话 我成功从 createuploadsession 响应中获取 uploadUrl 值 现在我尝试使用此代码发出 PUT
  • r - 在 ggplot 中用一个 x 轴绘制两个图(3 个变量)

    我试图在一张图中绘制两个流量和一个降雨数据 我将其分为顶部和底部部分 如下图所示 在这里 我对这个情节有两个问题 花了很长时间但无法解决 为什么观察到的流量总是黑色的 即使我将其设置为蓝色 我是否不小心使用了其他一些参数来覆盖它 最重要的是
  • 为什么 const 数组无法从 constexpr 函数访问?

    我有一个名为 access 的 constexpr 函数 我想访问数组中的一个元素 char const const foo foo char const const bar 10 bar constexpr int access char
  • 如何在不存储的情况下将 Metro 应用程序部署到 Windows RT 设备 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我开发了一个地铁应用程序 仅供我的公司使用 所以我不会将其上传到 Windows 应用商
  • YFinance -tickerData.info 不适用于某些股票

    import yfinance as yf define the ticker symbol tickerSymbol AFT NZ get data on this ticker tickerData yf Ticker tickerSy
  • 查找两个字符串列表之间的差异

    我很确定这是重复的 但我已经尝试了一切 但我似乎仍然无法理解其中的差异 我有两个字符串列表 listA 和 listB 我正在尝试查找 listA 中不在 B 中的项目 例子 列表A 1 2 4 7 列表B 2 4 我想要的输出是 1 7
  • c -lz 库链接顺序(对符号“inflateInit2_”的未定义引用)

    我按此顺序链接 CodeBlocks 中的库 lz L usr local lib L usr local include pthread lswscale lavutil lavcodec lmp3lame lopus ltiff lvo
  • WPF - 动态资源与静态资源

    我在 WPF 项目中遇到了巨大的内存泄漏 并且正在尝试找出可以采取哪些措施来最大程度地减少它 为了访问资源 我 100 的时间都使用 StaticResource 我应该尽可能使用 DynamicResource 吗 StaticResou
  • 如何从sql server 2008中的日期获取该月的周数

    在microsoft sql server中的SQL语句中 有一个内置函数可以获取周数 但它是一年中的第几周 Select DatePart week 2012 11 30 returns 48 返回值48是一年中的周数 代替48 我想得到
  • UML 类图 - 使用枚举进行建模

    在 UML 类图中 我如何对导师可以在一周中工作多天而无需具体了解的情况进行建模 在我当前的解决方案中 1 名或多位导师每周工作 1 天或多天 由于导师工作的天数列表只是一个属性 并且似乎没有任何特定的结构来围绕它构建类 因此它应该是具有类
  • 媒体基金会使用 C 而不是 C++

    我正在学习使用 Microsoft 网站中显示的示例代码使用 Media Foundation API 使用 C 而不是 C 示例代码如下所示 HRESULT CreateVideoCaptureDevice IMFMediaSource
  • 如何多次appendChild(element)。 (相同元素)

    我的问题是 是否可以添加相同的元素而不重写相同的变量 我正在创建一个滑块 我需要附加一个div和一个班级slide el进入块slider 这是代码的一部分 var body html sliderBody btnLeft btnRight
  • 相同的表单数据,两个单独的提交按钮上的不同操作

    我有一个本质上是购物车的东西 需要有两个单独的结账选项 第一个操作使用户离开网站 但必须发布表单数据 如何创建两个提交按钮 将相同的表单数据发送到它们自己的单独页面 如果我理解正确 您在同一页面上有 2 个提交按钮 并且它们都具有相同的表单
  • 如何激活多模块项目中特定模块的 Maven 配置文件

    我们有一个多模块 Maven 项目 由一个父 POM 和 5 个或更多模块组成 如果我们激活自定义的 自动部署 配置文件 每个模块都可以作为构建的一部分部署到正在运行的服务器上 该配置文件在每个模块中明确定义 因为每个模块的部署方式 内容略
  • 转换为 DMatrix 后,XGBoost 训练和测试特征的差异

    只是想知道下一种情况怎么可能 def fit self train target xgtrain xgb DMatrix train label target missing np nan self model xgb train self
  • 如何从 urllib 读取lines()

    我有使用 http 的程序 我想从 http 读取数据 data urllib request urlopen someAddress read 并从中准备行列表 例如通过文件的 readlines 方法返回行 怎么做 urlopen 返回
  • 如何从 cor.test() 中提取 p.value 和估计值?

    我在 for 循环中对数据集执行 cor test 但我不知道如何从测试中提取估计和 tau 等信息 在数据集中执行 for 循环之前 cor test 函数返回如下 cor test armpit Corynebacterium 1 ar
  • 使用 jquery 查找键盘可见

    您好 我已经开发了响应式的 Android PhoneGap 应用程序 因此 当键盘可见时 我需要在纵向和横向模式下隐藏页脚 而键盘不可见时 我需要在两种模式下显示页脚 我已经尝试过该示例 但它工作不正常 如果我以纵向模式打开应用程序 当键
  • 使用元素树 findall 解析 XML 命名空间

    如何使用查询元素树findall Email 给定以下 xml
  • 如何保持选中的项目? - 列表显示

    当用户单击没有项目的空间时 我想在 ListView 上保持选中的项目 例如 项目下方的空间 但仍在 ListView 组件上 我已将 ListView 属性 HideSelection 更改为 false 但这仅在焦点更改为另一个组件时才