winforms 如何在标题栏上放置按钮?

falq053o  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(112)

我试图做一个按钮,显示一个用户菜单,在谷歌浏览器中看到:
x1c 0d1x的数据
没有传统的方法可以做到这一点,所以我环顾四周,发现每一种方法要么过时,要么不起作用(可能是因为它过时了!).
这是first link I found,但它 * 只 * 与Windows Aero关闭,可能不与Windows 8,8.1或10,并不是很好。这个Stack Overflow问题的答案本质上也是相同的代码:


  • Aero on:*



我在这里也发现了一些问题,但是提到的技术不起作用。One of the answers指向this MSDN article,它似乎提供了我想要的一些功能,但代码却是c++
这在VB.NET中可能没有任何问题吗?如果可以,如何做到?
这是与VB.NET和Windows窗体,目标操作系统是Windows 7和更新。

7bsow1i6

7bsow1i61#

看看这两个链接:
在Vista的非客户端区域添加标题按钮
.Net ActiveButtons库
我已经有一段时间没有使用VB.Net了,所以如果你不介意的话,我只添加一个c#代码示例(基本上我从第一个链接中获取了示例并尝试了它,它似乎工作得很好)

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中的按钮那么好。

相关问题