删除组合框的边框

2024-04-13

我正在使用 C# 开发一个用于显示信息的表单,但我仍然需要允许对信息进行一些操作。我真正想做的是从组合框中删除边框,这将允许我显示信息,同时还允许用户选择集合中的其他项目,而不必显示所有项目。

更具体地说,我有一个包含 4 或 5 个电子邮件地址的列表,但我只想一次显示一个,同时允许用户轻松选择不同的项目。我已经搜索遍了,但找不到修改组合框边框的简单方法,而无边框组合框将很好地满足我的需求。

我刚刚开始使用 C#,所以我仍在学习,也许我错过了一些东西。看起来这应该比事实要容易得多,希望有人可以帮助我。

EDIT:
该表单使用标签来显示信息,因此中间有一个组合框使其看起来很糟糕。基本上我正在寻找的是一个链接,单击该链接会打开默认电子邮件程序并填写地址,但我想要下拉按钮,以便可以选择备用地址。如果不需要的话,我不想显示一大堆地址,我只想一次显示一个。类似于组合框,但没有边框。

我可能只需要添加一个显示备用地址列表的按钮,但是如果我可以从组合框中删除边框并得到我想要的内容,为什么还要重新发明轮子呢? 谢谢


也许您根本不需要组合框。假设您使用的是 Windows 窗体,您可以使用标准 TextBox 并将电子邮件地址列表添加到其 AutoCompleteCustomSource(并将 AutoCompleteSource 设置为“CustomSource”)。

然后,如果您将 TextBox 的 AutoCompleteMode 设置为“Append”,用户将永远不会看到电子邮件地址的完整列表 - 他们只会在键入时在 TextBox 中填充闭合匹配项。通过一些隐藏代码,您甚至可以引入使用向上和向下箭头键循环浏览可用项目的功能。

Edit

现在您已经更新了您的问题,我将建议一种完全不同的方法。

添加“默认”电子邮件地址作为标准标签。哎呀 - 将其添加为 LinkLabel 并使其可点击,使其行为类似于网页上的 mailto: 链接。在该标签旁边,添加一个普通按钮。将其 FlatStyle 属性设置为“System”,将字体名称设置为“Marlett”,将标题设置为“u”,这样它就有一个漂亮的“下拉按钮”外观。

现在将 ContextMenuStrip 添加到您的表单中,并为每个电子邮件地址添加一个菜单项。您可以很容易地在代码中完成此操作。

现在为您的按钮添加此 Click 事件处理程序:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

因此,当单击该按钮时,会弹出菜单,显示“备用”电子邮件地址。您需要做的就是捕获菜单项的 Click 事件来“使用”所选的电子邮件地址。

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

删除组合框的边框 的相关文章

  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • C++中的类要具备什么条件才能成为容器?

    我是 C 编程新手 偶然发现了这个术语containers举例如下vector deque map etc 一个企业的最低要求应该是什么class应该满足被称为container in C 我将从 范围 这个概念开始 Range 只有两个方
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 为什么 std::function 不是有效的模板参数,而函数指针却是?

    我已经定义了名为的类模板CallBackAtInit其唯一目的是在初始化时调用函数 构造函数 该函数在模板参数中指定 问题是模板不接受std function作为参数 但它们接受函数指针 为什么 这是我的代码 include
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 如何调用与现有方法同名的扩展方法? [复制]

    这个问题在这里已经有答案了 我有这样的代码 public class TestA public string ColA get set public string ColB get set public string ColC get se
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 与 Entity Framework Core 2.0 的一对零关系

    我正在使用 C 和 NET Framework 4 7 将 Entity Framework 6 1 3 Code First 库迁移到 Entity Framework Core 我一直在用 Google 搜索 Entity Framew
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • 对多个对象使用事件处理程序

    我有 20 件物品List
  • 如何知道 HTTP 请求标头值是否存在

    我确信这很简单 但是却让我感到厌烦 我在 Web 应用程序中使用了一个组件 它在 Web 请求期间通过添加标头 XYZComponent true 来标识自身 我遇到的问题是 如何在视图中检查此组件 以下内容不起作用 if Request
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它

随机推荐

  • Yii2 迁移。表名中的百分号和括号

    我在github上浏览了yii2 oauth2 server代码 并在其中遇到了有趣的语法迁移文件 https github com Filsh yii2 oauth2 server blob master migrations m1405
  • 客户端非 ES6 浏览器上的 JSX Spread 属性

    ReactJS JSX 有一种可以轻松向组件添加大量属性的方法 var props props foo x props bar y var component
  • 定义深度/维度未知的 C++ 模板

    我想写一个n维直方图类 它应该采用包含其他 bin 等的 bin 的形式 其中每个 bin 包含最小和最大范围 以及指向下一个维度 bin 的指针 bin 的定义如下 template
  • PivotCaches.add 错误 5 - 2003 到 2010 宏

    我有一个 Excel 2003 xls 文件 我试图在 Excel 2010 中运行该文件 我首先将该文件另存为 xlsm 并将该目录添加为信任中心中的受信任目录 我收到错误代码 如下箭头所示 注意 如果我将数据透视表版本更改为 12 它仍
  • 在 C++ 中将 char 或 string 转换为 bitset

    我正在做 DES 加密的作业 但我似乎无法将字符串转换 更不用说将字符转换为位集了 谁能告诉我如何在 C 中将单个字符转换为位集 下列 char c A std bitset lt 8 gt b c implicit cast to uns
  • 如何在 PHP 中实现后台/异步 write-behind 缓存?

    我有一个特定的 PHP 页面 由于各种原因 需要将 200 个字段保存到数据库中 这是 200 个单独的插入和 或更新语句 现在显而易见的事情就是减少这个数字 但是 就像我说的 由于我不想费心去讨论的原因 我不能这样做 我没想到会出现这个问
  • 在交叉过滤器中过滤多个离散值

    有没有人有办法过滤交叉过滤器 https github com square crossfilter wiki API Reference多个值的对象维度 就像是 filterExact cash visa or filter cash v
  • Android - 在相对布局的ImageView中居中Textview

    我有一个带有 ImageView 的相对布局 并且希望在活动布局 xml 文件中将 TextView 置于 ImageView 的中心 这是图像视图 然后是我为 TextView 尝试过的内容 这是相对布局的内部
  • 拖放文件上传

    因此 我正在努力寻找我正在寻找的东西以及如何实现它 我有一个基本的 PHP 文件上传器 用户按下自定义上传按钮 选择一个文件 然后使用 JS 检查更改 即用户选择文件 然后提交上传图像的表单美好的 我现在还想要一个拖放上传区域 因此 用户可
  • 查找数组中缺失的数字

    我试图找到数组中每个缺失的数字 如下所示 Array 0 gt 1 1 gt 2 2 gt 3 3 gt 4 4 gt 5 5 gt 6 6 gt 7 7 gt 8 8 gt 9 9 gt 10 10 gt 11 11 gt 12 12 g
  • 如何在asp.net core rc2中获取控制器的自定义属性

    我创建了一个自定义属性 AttributeUsage AttributeTargets Method AttributeTargets Class public class ActionAttribute ActionFilterAttri
  • Angular-xeditable 可编辑 (Bs​​3),带有日期和 ng-repeat

    我尝试扩展 Angular xeditable 可编辑行 Bs3 的特定示例 添加字段 出生日期 我创建了一个 jsfiddle 来描述问题 http jsfiddle net ffgj62q0 http jsfiddle net ffgj
  • neo4j 在从 csv 导入期间指定数据类型

    有没有办法在导入时告诉neo4j值的类型 例如 neo4j 是否知道 2015 0104T10 33 44 是日期还是字符串 thanks Neo4j 使用 Java 原始类型 字符串或数组作为属性值 没有日期类型 所以 2015 0104
  • ssh-add,自动添加私钥

    我有一个公私 ssh 密钥对 由ssh keygen without密码 我将它与我的 bitbucket 帐户一起使用 特别是与 Mercurial 存储库一起使用 通常我在我的家庭工作电脑中手动添加私钥 使用ssh add ssh id
  • 获取屏幕分辨率作为cmd中的变量

    我需要一个脚本来根据所使用的屏幕分辨率复制特定图像 到目前为止我发现wmic desktopmonitor get screenheight给了我适当的输出 但我在将其解析为可用变量时遇到问题 问题是输出分为三行 我只需要第二行的信息 有人
  • 从详细信息选项卡中获取文件描述

    我希望能够从 dll 或 sys 文件的详细信息选项卡中获取文件描述字符串 我尝试过多种方法来做到这一点 但无法让它们点击 无论如何 是否可以通过命令行执行此操作 使其在屏幕上生成输出 我对使用 VB 提供的 FileVersion des
  • 判断鼠标是否位于表单上方的最佳方法是什么?

    我想通了如何捕获鼠标点击 https stackoverflow com questions 2866936 how can i add an event handler to an event by name覆盖整个表单 但此方法不能很好
  • 从 file:// 方案运行的应用程序出现 CORS 错误

    我有一个 AngularJS Cordova 应用程序 它轮询远程服务器上的 JSON 服务 http method GET url http example com index php 在浏览器中开发并在我的 Intranet apach
  • Vuetify 在浅色和深色主题之间切换(使用 vuex)

    所以在我的 Vue 项目中 我基本上有两个页面 组件 将根据 URL 使用 vue router 显示 我可以通过按钮在这些页面 组件之间切换 我还使用 VueX 来管理一些数据 现在 我在其中一个组件中添加了一个开关 用于在 Vuetif
  • 删除组合框的边框

    我正在使用 C 开发一个用于显示信息的表单 但我仍然需要允许对信息进行一些操作 我真正想做的是从组合框中删除边框 这将允许我显示信息 同时还允许用户选择集合中的其他项目 而不必显示所有项目 更具体地说 我有一个包含 4 或 5 个电子邮件地