【问题标题】:How can I place a button on the title bar?如何在标题栏上放置一个按钮?
【发布时间】:2015-05-27 23:40:43
【问题描述】:

我正在尝试制作一个显示用户菜单的按钮,如 Google Chrome 中所示:

没有传统的方法可以做到这一点,所以我环顾四周,发现每一种方法都已经过时或不起作用(可能是因为它已经过时了!)。

这是first link I found,但它在 Windows Aero 关闭的情况下工作,可能不适用于 Windows 8、8.1 或 10,而且效果不是很好。 answer to this Stack Overflow question 本质上也是相同的代码:

空气动力学:

我在这里也发现了一些问题,但提到的技术不起作用。 One of the answers 指向 this MSDN article,它似乎提供了我想要的一些功能,但代码是

这在 VB.NET 中是否可能没有任何问题,如果可以,如何实现?

这适用于 VB.NET 和 Windows 窗体,目标操作系统是 Windows 7 和更新版本。

【问题讨论】:

标签: c++ vb.net winforms titlebar


【解决方案1】:

看看这两个链接:

Adding caption buttons to the Non-client area on Vista

.Net ActiveButtons Library

我用VB.Net已经有一段时间了,所以如果你不介意我会添加ac#代码示例(基本上我从第一个链接中获取示例并尝试了它,它似乎是工作正常)

private void Form1_Load(object sender, EventArgs e)
{
    IActiveMenu menu = ActiveMenu.GetInstance(this);
    ActiveButton button = new ActiveButton();
    button.BackColor = Color.LightBlue;
    button.Text = "One";
    button.Click += button_Click;
    menu.Items.Add(button);
}

private void button_Click(object sender, EventArgs e)
{
    MessageBox.Show("Button clicked");
}

注意:这个按钮似乎不支持透明背景,所以看起来不如chrome中的按钮。

【讨论】:

  • 上面的链接好像没有了。你有没有图书馆/示例项目可供参考??
  • @mrid 不是真的,但我在搜索时确实发现了一些有趣的东西...google.co.il/…
猜你喜欢
  • 2021-11-24
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2019-04-04
相关资源
最近更新 更多