如何在C#Winforms中创建下拉信息框?

时间:2014-01-22 16:25:41

标签: c# winforms drop-down-menu

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

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

2 个答案:

答案 0 :(得分:2)

使用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);
}

结果:

enter image description here

答案 1 :(得分:1)

我认为单击按钮查看工具提示会是一个糟糕的用户体验。但是,如果你真的想

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