问题标签 [toolstripdropdown]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
220 浏览

winforms - 鼠标离开 ToolStripMenuItems 时关闭 ToolStripMenuItem

我是 Windows 窗体的新手,所以我想知道解决我的问题的最佳方法是什么。

我希望 ToolStripDropDownMenu 的 ToolStripMenuItems 仅在用户的鼠标离开包含它们的区域时才关闭(所有 ToolStripMenuItems)

目前我有以下代码:

我在列表中定义了 toolStripMenuItems:collectionToolStripMenuItems,代码如下:

在哪里

但是,每次用户单击或离开 toolStripMenuItem 时,这都会起作用,dropDown 会在很短的时间内关闭,因此看起来整个东西都在闪烁。

有人可以推荐一个更好的方法吗?非常感谢!

0 投票
0 回答
162 浏览

c# - Programmatically create a ToolStripDropDown

How can I programmatically create a ToolStripDropDown in a winform project ? I want to associate this item to a TextBox (showing last entries) and it appears when clicking on a Button.

It should be on the red line :

enter image description here

Edit : I actually have :

This code doesn't work. I never used a ToolStripDropDown and I don't know how to use it.

0 投票
1 回答
2866 浏览

c# - 如何创建 ToolStripDropDownButton?

我想创建一个如下图所示的ToolStripDropDownButton在此处输入图像描述

但是当我尝试在工具箱中搜索ToolStripDropDownButton控件时,我无法找到它,因为经过一番谷歌搜索后,我发现它是一个 而不是 命名空间

然后我用谷歌搜索了下面的代码

但是最后一行代码无效并给出运行时错误

无法将类型“System.Windows.Forms.ToolStripDropDownButton”转换为“System.Windows.Forms.Control”

有人能告诉我如何在C# Windows 窗体中添加这样的按钮,或者我在代码中缺少什么吗?
平台:VS2008 Express(我知道它很旧)

0 投票
2 回答
10287 浏览

html - 必需属性不适用于primeng

我正在开发一个 angular2 应用程序,并且我正在将primeng 用于 UI 元素。我有下拉菜单,我使用这些下拉菜单中的选项是从 API 调用动态生成的。现在,当我单击提交按钮时,我希望它在提交之前验证表单。所以我使用 'required="required"' 来进行验证。

我看到,如果数据未加载到下拉列表中,则验证工作正常,但是当加载数据并填充下拉选项时,primeng 验证中断并且它不会抛出任何消息。

这是我的html代码..

我没有正确使用所需的属性,还是有其他方法可以通过 API 调用来做到这一点?帮助表示赞赏

0 投票
1 回答
1633 浏览

.net - WPF中等效的ToolStripDropDownButton?

我是 WPF 技术的新手。我已经在 WinForms 中开发了大约 6 年。

现在我想通过学习 WPF 在我的技能上迈出一大步。我正在阅读 MSDN 中的介绍指南,而作为个人练习,我正在尝试将 WinForms UI 的结构转换为其 WPF UI 等效项。

这是我想在 WPF 中重现的 WinForms 控件结构的简单模型:

在此处输入图像描述

我的问题是试图重现ToolStripDropDownButton控件的等效控件/行为。

Windows 窗体控件和等效 WPF 控件一文中,Microsoft 只是说ToolStripDropDownButton的等效控件是ToolBar ...具有组合。我完全不明白“与组合”是什么意思。我一直在阅读和试验Toolbar,但我没有找到在工具栏中添加下拉按钮的方法。

我的问题:有人可以指导我或向我展示如何在工具栏中添加下拉按钮的简短示例?

0 投票
1 回答
488 浏览

c# - MenuItem AutoClose = false 在动态生成的工具条菜单上

所以,在这个问题之后,我一直在尝试处理一种方法来阻止当我单击一个项目时关闭下拉菜单。

在链接的问题中,一个这样的答案建议我将AutoClose属性设置为 false。我这样做了,这确实达到了我的要求。但是,我实现它的方式意味着下拉菜单被强制打开。

表格代码:

我知道为什么会这样 - 实现意味着无法AutoClose将 设置为 true。但是,由于 menuItems 是在不同的类中动态生成的,所以我没有任何事件或对象可供参考。

此代码从主窗体复制菜单结构,并将其复制并在“配置文件视图”中重新创建它(以设置用户可以/看不到的内容)。

控制器代码:

如何AutoClose正确实现该属性,以便如果单击菜单项,菜单不会关闭,但如果单击菜单标题,或将鼠标移离菜单,或选择另一个菜单(通过单击或鼠标悬停),菜单是否关闭?


如果这是一个简单的问题,我深表歉意——我已经退出游戏大约一年了,不得不重新开始,我在正确处理所有事情时遇到了一些问题。

0 投票
2 回答
623 浏览

c# - WinForms 用户控件具有导致 ToolStripDropDown 自动关闭的 ComboBox

我有一个自定义 WinForms 用户控件,它看起来像一个组合框,但打开了一个 ToolStripDropDown,其中包含另一个名为 NumericFilterPanel 的自定义用户控件,它有一个复选框、一个组合框和一个文本框。

在此处输入图像描述

问题是当用户单击选择嵌入在下拉控件中的组合框的选项时,它会导致父下拉列表隐藏。

我设置了 ToolStripDropDown.AutoClose = false,它修复了原始问题,但现在我很难检测到下拉列表失去焦点的所有情况,例如当用户单击父窗体或切换程序时。有时下拉菜单仍然可见且位于最上方。

有没有办法保持 AutoClose = true 并防止嵌入式组合框关闭父下拉菜单,或者有没有办法始终检测下拉菜单何时失去焦点,以便我可以手动关闭它?

0 投票
1 回答
550 浏览

c# - 添加到 ToolStripDropDown 时列表框数据源不起作用

尽管我找不到解决方案,但我整天都在为这个问题苦苦挣扎。我为这篇冗长的帖子道歉,我试图简洁明了。

这是有效的:我创建一个Form并在其类中ListBox动态创建一个并将其设置DataSourceDataTable如下:

这不起作用:创建自定义控件(继承自ToolStripDown),创建 的新实例ToolStripControlHost(listBox1),将该实例添加到ToolStripDown. 将 设置listBox1.DataSourceDataTable。显示时ToolStripDown,列表框在那里但为空(不显示数据源内容)。

自定义CtlDropdownPopup被称为:(简化)

正如我所说,其中ToolStripDropDown显示了listBox1,但列表为空。奇怪的是,如果我将Source()方法修改为

列表框与上面的项目一起显示。虽然这种解决方法可以完成这项工作,但很烦人没有找到为什么我不能DataSource直接设置的答案(就像我在第一个示例中直接做的那样),而是手动添加项目。

任何想法都会帮助我今晚睡个好觉:)

想法#1:我相信由于相同dtCountries与 other 相关联ComboBox1.DataSource,这可能是问题所在,所以我this.controlToPop.DataSource = dt.Copy();希望“它与组合框没有某种联系”,但问题仍然存在。

旁注:我正在尝试创建一个自定义组合框,它建议DataTable.

来自https://www.codeproject.com/Tips/789705/Create-combobox-with-search-and-suggest-list的想法

0 投票
1 回答
53 浏览

c# - ToolStripDropDown 在底层控制之前捕获 MouseeDown

我创建了我自己的类似 ComboBox 的控件,其中下拉部分包含一棵树。我见过那些使用普通 ComboBox 并覆盖 WndProc 的解决方案,但是尽管有很多代码,但总是有一些奇怪的行为。所以我决定让它变得简单:只是一个带有 ToolStripDropDown/ToolStripControlHost 的标签,当鼠标放在标签上时它会打开。缺少的 ComboBox 三角形不会受到伤害。

一切都很完美,除了一件小事:就像股票组合框一样,当我再次单击标签时,我希望隐藏下拉菜单。但是当我点击它时,下拉菜单会隐藏一秒钟,只是为了再次出现。如果我在标签外部单击,下拉菜单就会隐藏,就像它应该的那样。

据我所见(断点),下拉列表首先捕获 MOUSEDOWN 事件以便自行关闭。只有在那之后,我的标签才通过 MOUSEDOWN 事件,并且由于它看到下拉菜单已关闭,它认为标签已像第一次一样被点击 - 并再次打开下拉菜单。

因此,标签似乎没有机会知道 MOUSEDOWN 是否是关闭下拉项的结果。我可以每隔一个事件打开它,但这不需要其他关闭事件发生。

有什么方法可以确保即使我点击标签,打开的下拉项目也会关闭?

0 投票
0 回答
117 浏览

c# - 如何在 ToolStripItem 中使用基于当前 DPI 缩放的不同尺寸图像?

我需要根据 DPI 缩放更改图像大小。在我的项目中,我使用带有图像的“ToolStripDropDownItem”。我有 100DPI 和 175 DPI 不同尺寸的图像。在 100 DPI(使用 12 * 12 图像)下,它的工作正常。

在 175 DPI 中,我正在设置另一个尺寸 (24*24) 的图像,它不能正常工作。它显示如下图所示。实际上它不是我认为的原始图像。我认为 ToolStrip 会自动从 100 DPI 缩放图像(我不想要它)。

是否有可能根据 DPI 因素更改图像?

请找到问题快照

工具条图像