在空表单上绘制工具条。在此工具条上添加SplitButton。稍后将用作登录按钮。
在这个SplitButton上我想删除开始位置的下拉列表。你唯一能做的就是登录。登录后,下拉列表中会填充"更改密码","更新个人资料"等项目。等等。
我试过把属性:
loginButton.DropDownButtonWidth = 0;
这几乎消除了下拉,它消失了,但它在右边是一个非常难看的点,这似乎是从下拉角落留下的一个像素。见下图:
我已经尝试了很多其他属性来删除下拉列表,但没有进展。当我谷歌时,我找不到类似的东西。
我得到了很好的帮助,几天前修复了工具条的另一个问题,工具条在默认状态下也有一个绘图问题。但是如果你覆盖了一个方法就被删除了,请看这篇文章:
有谁知道我如何删除丑陋的点,或者以其他方式删除下拉?
完整源代码,一行基本上使用名为loginButton的SplitButton:
using System;
使用System.Windows.Forms;
命名空间WindowsFormsApp1 { 公共部分类Form1:表格 { 公共Form1() { 的InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e)
{
loginButton.DropDownButtonWidth = 0;
}
}
}
答案 0 :(得分:1)
您可以使用自己的渲染器来尝试实现:
private class NoArrowRenderer : ToolStripProfessionalRenderer {
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) {
if (e.Item.GetType() != typeof(ToolStripSplitButton)) {
base.OnRenderArrow(e);
}
}
}
然后将其应用于ToolStrip:
toolStrip1.Renderer = new NoArrowRenderer();