c# - 删除 ToolStripControlHost 周围的空白

标签 c# .net vb.net winforms

我正在尝试删除 toolstripcontrolhost 控件周围的空白区域,该控件在上下文菜单中托管日历控件。请参阅所附图片和代码。

VB:

    Dim menuItem As ToolStripMenuItem = New ToolStripMenuItem("MyMenu")

    Dim calControl As New MonthCalendar

    Dim controlHost As ToolStripControlHost = New ToolStripControlHost(calControl)

    controlHost.Margin = Padding.Empty
    controlHost.Padding = Padding.Empty

    ContextMenuStrip1.Items.Add(menuItem)
    menuItem.DropDown.Items.Add(controlHost)

C#:

ToolStripMenuItem menuItem = new ToolStripMenuItem("MyMenu");

MonthCalendar calControl = new MonthCalendar();

ToolStripControlHost controlHost = new ToolStripControlHost(calControl);

controlHost.Margin = Padding.Empty;
controlHost.Padding = Padding.Empty;

ContextMenuStrip1.Items.Add(menuItem);
menuItem.DropDown.Items.Add(controlHost);

enter image description here

最佳答案

在这种情况下,ToolStripDropDown 可能会更好:

MonthCalendar calControl = new MonthCalendar();
ToolStripControlHost controlHost = new ToolStripControlHost(calControl);
controlHost.Margin = Padding.Empty;
controlHost.Padding = Padding.Empty;
ToolStripDropDown toolDrop = new ToolStripDropDown();
toolDrop.Padding = Padding.Emtpy;
toolDrop.Margin = Padding.Empty;
toolDrop.Items.Add(controlHost);

toolDrop.Show(this, location);

关于c# - 删除 ToolStripControlHost 周围的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610193/

相关文章:

c# - 应用程序在 Dispatcher.Invoke 后卡住

c# - 如何在 .NET 中实现作业队列?

c# - 如何在 .NET 中绘制 "on top"的托管控件?

asp.net - 将字符串转换为 SqlDbType

c# - 使用 .NET 标准库的 ASP.NET Web 应用程序

c# - 检查数据库中的重复数据 (C#)

c# - RavenDb 备份和恢复

c# - Linq 查询以获取子列表中的共享项

c# - REGEX 在测试器中匹配但在 C# 中不匹配

vb.net - 套接字编程 VB.NET - 无限期地读取 block