【发布时间】:2012-09-24 09:07:18
【问题描述】:
我是 Win32 的新手,对 C# 不是很熟悉,所以请多多包涵。我在学校有一个项目,涉及制作音频编辑程序,我们可以选择使用哪种语言。我决定通过结合使用 C# 和 Win32 来让自己变得陌生。
到目前为止,我在这方面的进展是创建一个 Winforms 项目,废弃所有 Winforms 代码,并使用 Win32 API 创建一个窗口。我不知道如何使用 Winforms 操作窗口或以有意义的方式使用 .NET 框架中的任何其他内容。
我的问题是,有没有办法获取使用 Win32 API 创建的窗口并使用 Winforms 对其进行编辑?例如,将窗口句柄传递给我的表单,对其进行编辑,然后查看已创建的窗口中反映的更改?让我知道这是否没有意义。我很难找到很多关于此的文档,但也许我只是在错误的地方搜索。如果您可以让我知道任何可能有帮助的资源,或者在正确的方向上提供帮助,我们将不胜感激。
【问题讨论】:
-
使用 WinAPI 的 Winforms?那是什么样的组合?这真是一个奇怪的想法。如果您想在 C++ 项目中使用 WinAPI,请不要使用 .NET。如果您想使用 .NET,请完全使用它。
-
为什么不使用 C# + Winforms + NAudio 而不是用 C# 和 Winforms 强制 Win32 呢?或者如果您更熟悉 C++,可以尝试 C++/Cli?
-
我想帮忙,但我无法想象你为什么要这样做。为什么不直接使用 WinForms 表单,毕竟它们只是下面的 Win32 窗口?仅仅是因为您没有使用 WinForms 的经验吗?如果是这样,我认为学习 WinForms 会更容易,然后解决集成这些东西的所有问题。否则,您可以在 WTL 甚至 MFC 之类的帮助下坚持使用 C++ 进行简单的 Win32 开发。
-
我认为我只是把它倒过来了,现在它更有意义了。我想这样做的原因是我可以了解 Winforms 如何与 winapi 交互,以便我可以在需要时更好地控制窗口。