好的,我一直在重做我4年前创建的应用程序。如果有办法使用标签创建下拉菜单,我就会徘徊。
目前我在无边框表格上有几个按钮,而menustrip看起来并不正确。
所以我想如果我在标签上做一个绑定,我可以实现我正在寻找的东西。我有一个标签打开并隐藏我的标签控件。
有没有办法扩展它,当鼠标悬停事件时,它会产生一个下拉菜单?
实施例
自定义(标签)
命令(标签) 用户输入(标签) Web命令(选项卡)
是否可以通过下拉菜单单独列出我的标签控件中的每个标签?我的主要标签Customize打开并隐藏选项卡控件。
我真的不想使用menuStrips或按钮或任何东西,因为它看起来不正确。我有两个按钮,一个是注销按钮,另一个是更新命令按钮,一旦我得到控制台控件位置。
如果无法完成,那么我将保持原样,只需点击我想要的标签即可。下面的图片是我的主要表格。我点击自定义,它会弹出一个tabControl。我希望表单无边框。我不希望在表格顶部有一条白色条带。我试图使形式顺利。因此,当我将鼠标悬停在自定义上时,它将显示TabControl中的选项卡。就像一个菜单。见下面两张图。
更新:这就是我想要做的事情,仅使用Label。我不想使用以下任何一个: toolStrips, toolStripContainers, menuStrips, 的ContextMenuStrip, 纽扣 组合框。
我想只使用一个标签。而且只有一个标签。
答案 0 :(得分:0)
试图找出你所要求的帮助是痛苦的,但尽管我可以说,这可能是你想要做的事情:
Size originalSize;
String originalText;
void CustomizeLabel_MouseEnter(object sender, EventArgs e) {
originalSize = CustomizeLabel.Size;
originalText = CustomizeLabel.Text;
StringBuilder sb = new StringBuilder();
sb.AppendLine(originalText);
foreach (TabPage tp in tabControl1.TabPages) {
sb.AppendLine(" " + tp.Text);
}
CustomizeLabel.Text = sb.ToString();
CustomizeLabel.Height = TextRenderer.MeasureText(CustomizeLabel.Text,
CustomizeLabel.Font).Height;
}
void CustomizeLabel_MouseLeave(object sender, EventArgs e) {
CustomizeLabel.Text = originalText;
CustomizeLabel.Size = originalSize;
}