问题标签 [toolstrip]

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 投票
2 回答
2643 浏览

.net - 从 ToolStripPanel 中分离 ToolStrip

开箱即用,似乎没有任何内置支持允许您的最终用户将ToolStrip应用程序中的 s 从其父ToolStripPanels 中分离出来。ToolStrip显然这是可能的,因为即使您的 Visual Studio IDE 也允许您取消停靠/撕下/浮动您的工具条,而使用and的默认行为是不可能的ToolStripPanel

那么,有人给点建议吗?我想让我们的最终用户能够撕下ToolStrips,并让它们在任何他们想要的地方自由浮动。

0 投票
1 回答
1455 浏览

winforms - 仅显示 ToolStripMenuItem 图标

我有一个 Windows 窗体 ToolStripSplitButton,它只显示一个图标。我添加了一些 ToolStripMenuItem,并将它们的 DisplayStyle 设置为 ToolStripItemDisplayStyle.Image。下拉菜单显示文本区域(但它是空白的),以及空白文本区域左侧的图像。有没有办法摆脱文本区域,所以它只显示图标?

0 投票
2 回答
4917 浏览

c# - C# 将图标添加到 ToolStripMenuItem

我的程序中有一个 ToolStripMenuItem。我的电脑上还有一个图标,为了简单起见,可以说它的路径是

我怎样才能让 ToolStripMenuItem 使用这个图标?

0 投票
1 回答
3015 浏览

.net - ToolStripSeparator 的问题

我有一个工具条。对于这个工具条,我正在添加ToolStripSplitButton,为此ToolStripSplitButton,我正在添加工具条项目,包括ToolStripSeparator. 在工具条项目的单击事件中,我ToolStripSplitButton使用以下代码从下拉列表中检索项目。

由于下拉项目同时具有工具条项目和ToolStripSeparator运行时,它会给出以下错误。

附加信息:无法将“System.Windows.Forms.ToolStripSeparator”类型的对象转换为“System.Windows.Forms.ToolStripMenuItem”类型。

有谁能够帮我?

谢谢

0 投票
1 回答
5289 浏览

winforms - C# 将 ToolStripMenueItems 动态添加到 MenuStrip

我想知道 SO 是否可以帮助简化一些逻辑。我有一个包含 System.Windows.Forms.MenuStrip 的 Windows 窗体 (C# 2.0)。

  1. 我想将 ToolStripMenueItems 动态添加到 MenuStrip。添加的项目将从数据库中删除(但为简单起见,我已从下面的代码中删除了该部分)。
  2. 我希望能够构建复杂的菜单(即工具>数学>计算、帮助>文档、帮助>关于、格式>编码>西方、格式>编码>其他>希腊)。

下面的代码似乎可以工作,但你会怎么做才能使 loadToolbars() 更高效/更简单?

这是我需要帮助的功能:

下面的一切,我很满意,但我提供它是为了帮助其他人跟随我正在做的事情。

此功能是数据驱动的,但为了 SO 的利益而进行了硬编码

自定义类以帮助保持我的点击事件简单

所有工具栏项的点击事件都将在此函数中处理

0 投票
4 回答
12699 浏览

winforms - 将 ToolStripProgressBar 锚定到 StatusBar(StatusStrip) 的右侧

我有一个带有 2 ToolStripStatusLabels 后跟ToolStripProgressBar. 我希望进度条始终锚定在状态栏的右侧- 所以当窗口调整大小/最大化时,它应该自动移动/重绘。

我认为这就像将第一个(左对齐)ToolStripStatusLabelSpring属性设置为 true 一样简单,所以当表单被调整大小/增加大小并且有更多可用空间时,第一个ToolStripStatusLabel会填满该空间并自动推送ToolStripProgressBar向右。

但这不仅没有达到我想要的效果——第一个ToolStripStatusLabel实际上覆盖了第二个StatusLabel和第二个ProgressBar,基本上占据了整个状态栏。ToolStrip 控件都没有 Anchor 甚至 MinSize。

那么我该怎么做:

  1. 定位ToolStripProgressBar到 StatusBar(StatusStrip) 的右侧
  2. 将一些固定大小的项目(例如ToolStripStatusLabel2and )与一个在有额外空间时增长ToolStripProgressBar的可变大小的项目混合在一起?ToolStripStatusLabel1

提前感谢您的时间和帮助!

~我

0 投票
1 回答
2670 浏览

winforms - 在 WinForms 的垂直工具栏中使 ToolStripSeparator 水平

已经谷歌搜索,无法找到如何让 ToolStripSeparator 在垂直对齐的工具栏中“绘制”一条水平线。

分隔符是垂直绘制的,这很糟糕。

例如。
* - 物品

*
*
| <- 分隔符
*
*

什么时候应该

*
*
- <- 分隔符
*
*

0 投票
2 回答
4658 浏览

.net - ToolStrip vs MenuStrip - 我可以让它们的渲染相同吗?

我需要在我的应用程序的菜单条下方直接显示一个工具条,但是为每个设置 RenderMode = Professional 并不会给出相同的结果。它们都显示背景渐变,但不是同一个。

有没有办法为工具条使用菜单条渲染,反之亦然?或者有人可以建议如何最好地自己实现渐变,我可以在子类渲染器中执行?

稍后添加: 非常感谢nobugz在下面的回答。有用的材料也在这个答案中。
还有一个问题——如果我将自定义渲染器基于 ToolStripProfessionalRenderer 并覆盖 OnRenderToolstripBackground,我的 ToolStrip 上仍然会出现弯曲的右角,但不会出现在 MenuStrip 上。是否有一些内部逻辑为后台渲染器填充提供不同的区域?我已经关闭(用无操作函数覆盖)边框渲染器。

0 投票
2 回答
4368 浏览

c# - 如何自定义 ToolStripTextBox 的呈现?

我非常喜欢 ToolStripProfessionalRenderer 样式,但我不喜欢它呈现 ToolStripTextBox 的方式。在这里,ToolStripSystemRenderer 在 IMO 上做得更好。现在有没有办法将两个渲染器的行为结合起来,为文本框使用系统样式,为其他所有内容使用专业样式?我已经成功地成功地使用专业风格的按钮和系统风格的其余部分(通过派生两个类)。但是 ToolStrip 中的文本框似乎没有由渲染器处理。使用 .NET Reflector,这些文本框甚至似乎都没有 Paint 事件处理程序,尽管它是由 ToolStrip.OnPaint 方法调用的。我想知道绘制这样一个文本框的代码在哪里,以及如何配置它来像所有其他文本框一样绘制一个文本框。

0 投票
3 回答
2901 浏览

c# - ToolStrip 内存泄漏

我一直在使用 SWF-ToolStrip 时遇到内存泄漏问题。根据这个http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=115600#已经解决了。但这里似乎没有。

有谁知道如何解决这个问题?