因此,我正在尝试使用界面类似于RocketDock等其他程序的程序。运行该程序时,它应显示为没有边框或其他任何东西的垂直底座。在“码头”内将是图标的集合,每个图标都会在码头之外打开一个窗口。在窗口内部,可以根据单击的图标执行不同的功能。我以为我可以使用WinForms做类似的事情,但是我想创建一个只要程序运行就可以持久保存在桌面上的东西。在WinForms中可以吗?是否有图书馆或其他可以帮助我的东西?
我对所谈论的内容做了一个简短的概述。我希望这可以帮助阐明我的意思。
我现在实际上没有太多工作。我仍在努力寻找起点。
答案 0 :(得分:0)
选中Spy ++ https://docs.microsoft.com/en-us/visualstudio/debugger/introducing-spy-increment?view=vs-2019用作学习您用于灵感的产品上所有窗口样式的工具。
检查使用System.Windows.Forms.Form.CreateParams是否足以增加将要创建的窗口(在派生的Form类中覆盖它),例如:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override CreateParams CreateParams
{
get
{
var r = base.CreateParams;
r.ExStyle |= 0x88;
return r;
}
}
}
在此处查看样式信息:
主题如此之大,以至于您需要进行大量研究才能获得所需的结果,但这应该是一个很好的起点。
还值得注意的是,P / Invoke允许您调用几乎所有Win32函数来使用.NET API无法提供的Windows行为。