突出显示组合框中的特定项目

2023-12-22

我有一个场景,我用模板名称填充组合框。在这些模板中,有一个是默认模板。我想在填充组合框时突出显示默认模板名称(以便用户知道其中哪一项是默认的)。可以这样做吗?如果是的话怎么办?我正在使用 C# 2.0 中的 Windows 窗体。


这在一定程度上取决于您想要如何突出显示该项目。如果您想以粗体呈现默认项目的文本,您可以像这样实现(为此,您需要设置DrawMode组合框的OwnerDrawFixed,当然还有将 DrawItem 事件连接到事件处理程序):

我已经用模板对象填充了组合框,定义如下:

private class Template
{
    public string Name { get; set; }
    public bool IsDefault { get; set; }

    public override string ToString()
    {
        return this.Name;
    }
}

...DrawItem 事件的实现如下:

private void ComboBox_DrawItem(object sender, DrawItemEventArgs e)
{
    if (e.Index < 0)
    {
        return;
    }
    Template template = comboBox1.Items[e.Index] as Template;
    if (template != null)
    {

        Font font = comboBox1.Font;
        Brush backgroundColor;
        Brush textColor;

        if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
        {
            backgroundColor = SystemBrushes.Highlight;
            textColor = SystemBrushes.HighlightText;
        }
        else
        {
            backgroundColor = SystemBrushes.Window;
            textColor = SystemBrushes.WindowText;
        }
        if (template.IsDefault)
        {
            font = new Font(font, FontStyle.Bold);
        }
        e.Graphics.FillRectangle(backgroundColor, e.Bounds);
        e.Graphics.DrawString(template.Name, font, textColor, e.Bounds);

    }
}

我希望这应该能让你朝着正确的方向前进。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

突出显示组合框中的特定项目 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 如果我使用客户端计算机上未安装的字体,会发生什么情况?

    有人可以告诉我 如果我在 WinForms 应用程序中使用目标计算机上不可用的字体 会发生什么情况 它是否使用同一系列的字体 只是 Sans Serif 还是其他字体 您的应用程序将回退到 Segoe UI Tahoma 然后是 MS Sa
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 创建类型为 java.io.File 的 bean 时出错 [构造函数参数类型不明确]

    我有以下 spring bean 配置
  • JavaScript 与 Java 毫无关系,为什么叫 JavaScript? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 既然JavaScript不是由Java衍生而来 为什么它的名字中带有 Java 呢 From an 面试 http www infoworld com
  • 如何从外部命令行调用可可应用程序?

    我想使用带有参数的命令行来调用我的cocoa应用程序 但是在我的cocoa应用程序中 如何接收参数 这个参数是一个文件路径 非常感谢 整洁的事情 使用NSUserDefaults 如果你这样做 MyCocoaApp argument pat
  • 如何从 JBuilder 视图委托给模型的 to_builder 方法?

    假设我有一个 Person 类和一个 Gang 类 class Person belongs to gang attr accessible name secret def to builder Jbuilder new do app pe
  • Grails:使用 Spring Security 插件进行 Commentable 的用户评估器

    我正在尝试将可评论插件与 Spring Security 一起使用 我无法写出正确的 grails commentable poster evaluator 我尝试了 User get springSecurityService princ
  • 无法在 Chart.js 中设置全局选项

    我正在使用以下代码在 Chart js 中设置全局选项 Chart defaults global animationSteps 30 tooltipCornerRadius 0 var ctx document getElementByI
  • 将动态代码添加到 Perl 应用程序的最佳方法

    我知道这个问题的具体实例之前已经得到回答 如何在不使用 eval 的情况下动态包含 Perl 模块 https stackoverflow com questions 1917261 how can i dynamically includ
  • 替换测试中的特定模块

    我正在使用 Jest 测试我的 React Redux 应用程序 作为 API 调用的一部分 我正在导入一个 fetch 模块cross fetch 我想覆盖或替换它fetch mock 这是我的文件结构 Action js import
  • Java 中的 WebSockets 生产就绪服务器?

    EDIT 删除了对 C 的引用 因为唯一接受的答案是关于 Java 的 如果有人需要有关 C 中 websocket 服务器实现的信息 请提出一个新问题 您知道用 Java 创建 WebSockets 服务器的 生产就绪 框架吗 我找到了一
  • 它是什么意思,或者Cg==是什么

    有人可以告诉我什么吗Cg 意思是 我只知道它与 Base64 有关 我已经搜索过 但我仍然没有正确的答案或不知道它是什么 而且我对base64没有太多了解 Cg 是最新位置的换行符的base64编码 所以如果你想编码ABC你会得到QUJD
  • 毕加索可以帮我排队吗?

    关于毕加索的行为 有一个我不知道的关键点 想象一下 您正在显示包含十个项目的幻灯片 比如说 他们每人在屏幕上停留十秒钟 理想的行为是这样的 在幻灯片放映开始时 我只需执行以下操作 picasso get url1 picasso get u
  • Git 返回“无法运行重新打包”和“膨胀返回”错误

    我遇到了存储在 GitLab 上的 Git 存储库的问题 这似乎是一个仅影响此特定存储库的存储库问题 因为 GitLab 上托管的所有其他项目都工作正常 我似乎可以亲自使用 GitKraken 推送 拉取和签出分支 但是当我尝试从 Git
  • Alembic 可以自动生成列更改吗?

    我能够使用alembic autogenerate用于添加 删除列时 但是 当我想将 url 列从 200 个字符修改为 2000 个字符时 它不会检测到更改 我如何制作 Alembic 使用 SQLAlchemy 检测更改并自动生成模型各
  • 如何从java中的字符串中获取正确的阿拉伯字符(正确的形式)?

    我试图计算java中阿拉伯字符串中字符的宽度 但有时我无法获得正确的字符 如果您不知道阿拉伯字符可以根据它们在单词中的位置进行连接 并且每个变体都有不同的十六进制代码 https en wikipedia org wiki Arabic s
  • 在 Silverlight 3.0 中结合 .NET RIA 服务和 MVVM

    在 Silverlight 3 0 中使用 NET RIA 服务和 MVVM 时 RIA 服务中的元数据类型与 MVVM 模式中的 ViewModel 之间有区别吗 这些是同一件事还是应该分开 元数据类型是部分实体类的密封内部类 那里似乎没
  • Facebook JavaScript SDK 在 FB.login 调用后不会在 chrome 中设置访问令牌 cookie

    我正在使用 Facebook JavaScript SDK 来实现我的网站的登录 我已经可以在 Safari 和 Firefox 上使用它 但不能在 Chrome 上使用 调用 FB login 方法后 我可以从 Facebook 检索访问
  • PCL 中的 xamarin securestring 等效项

    SecureString 与 PCL 不友好 我知道这个问题可以使用依赖注入来解决 但我不想这样做 而是想在 PCL 中使用与 SecureString 等效的东西 但到目前为止我还找不到任何其他类或框架 System Security 几
  • protobuf-net 枚举序列化

    为了使用 protobuf net 序列化枚举 需要做什么 当序列化具有枚举属性的类时 我收到以下错误 如果从属性声明中删除 DataMember 属性 则它可以正常工作 System InvalidOperationException 仅
  • 仅使用互斥锁实现读/写锁?

    我试图仅使用互斥锁来实现读 写锁 仅供学习 正当我以为我已经涵盖了所有极端情况 因为程序可以处理各种组合 时 我意识到 我忽略了一个事实 因为它在 ubuntu 中工作 互斥体应该由线程的所有者释放 下面是我的实现 class rw loc
  • 突出显示组合框中的特定项目

    我有一个场景 我用模板名称填充组合框 在这些模板中 有一个是默认模板 我想在填充组合框时突出显示默认模板名称 以便用户知道其中哪一项是默认的 可以这样做吗 如果是的话怎么办 我正在使用 C 2 0 中的 Windows 窗体 这在一定程度上