【问题标题】:How to create drop down information box in C# Winforms?如何在 C# Winforms 中创建下拉信息框?
【发布时间】:2014-01-23 00:53:29
【问题描述】:

我想制作一个按钮,可以下拉多行标签或包含用户帮助文档的表单。

我已经搜索过,但找不到任何适用于 C# Winforms 的内容。是否存在任何免费控件,或者我必须自己创建它? 非常感谢, 理查德

【问题讨论】:

  • 这似乎有点不清楚...您想要一个按钮来打开包含帮助文档的表单吗?
  • 你的意思是工具提示吗?
  • 我不想打开一个新的表单窗口,而是在当前表单上打开一个包含文档的框。
  • 我认为你的意思是tooltip。因此,当您将鼠标悬停在某个内容上时,它会向您显示有关该项目的一些帮助文档?
  • 也许我的意思是工具提示。我会看看它,看看我可以用什么方法来格式化。

标签: c# winforms drop-down-menu


【解决方案1】:

使用 ToolStripControlHost 和 ToolStripDropDown 控件可以为您提供:

private void button1_Click(object sender, EventArgs e) {
  var helpInfo = new StringBuilder();
  helpInfo.AppendLine("This is line one.");
  helpInfo.AppendLine("This is line two.");
  var textHelp = new TextBox() { Multiline = true,
                                 ReadOnly = true,
                                 Text = helpInfo.ToString(),
                                 MinimumSize = new Size(100, 100)
                                };
  var toolHost = new ToolStripControlHost(textHelp);
  toolHost.Margin = new Padding(0);
  var toolDrop = new ToolStripDropDown();
  toolDrop.Padding = new Padding(0);
  toolDrop.Items.Add(toolHost);
  toolDrop.Show(button1, button1.Width, 0);
}

结果:

【讨论】:

  • 谢谢你,正是我所追求的!
【解决方案2】:

我认为在单击按钮时看到工具提示将是一种糟糕的用户体验。但是,如果你真的想要,你可以使用它

var b  = new Button();
b.Click += (sender, args) => new ToolTip().Show("Help documentation", b.Parent, new Point(b.Location.X, b.Location.X + 10));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多