1

这两个有用的类都在 System.Windows.Forms 参考下......

我看不出这些和winforms之间有多大关系..有人知道他们为什么在那里吗?

谢谢。

4

4 回答 4

3

他们在内部使用 WinForm 构建的 Win32 平台 API。

于 2009-10-23T21:25:09.153 回答
1

Windows 窗体在创建时是唯一(Microsoft)在桌面上创建图形用户界面的方法。

SendKeys 和剪贴板都使用 Windows API 来操作 GUI 应用程序。创建它时,可以合理地假设这些将在 GUI 程序中使用,这(然后)意味着 Windows 窗体应用程序。

这些通常都不会从控制台应用程序中使用,但如果您这样做,包括“窗口”程序集(当时意味着 Windows 窗体)是一个合理的做法,因为您正在使用视窗系统。

不过,我确实同意,既然 WPF 存在,将它们放在单独的程序集中会更好。然而,微软在保持向后兼容性方面做得很好。

为此,他们将其保留在 Windows 窗体命名空间中,而且还为 WPF 应用程序实现了System.Windows.Clipboard。(我相信他们认为 SendKeys 在现代开发中不是必需的,因为它有点被滥用了,只是被设计遗漏了。)

于 2009-10-23T21:36:13.650 回答
0

一般来说,您不会将剪贴板或 SendKeys 与 ASP.Net 应用程序或控制台应用程序一起使用,因此将它们放在System.Windows.Forms.

你希望他们在哪里?在System.ClipboardAndSendKeys?

于 2009-10-23T21:36:13.807 回答
-1

SendKeys 可以方便地突出显示文本框。一旦文本框获得焦点,SendKeys "{HOME}+{END}" 是从 Visual Basic 继承而来的典型技术。

Clipboard 类很有用,因为它允许您获取存储在机器剪贴板上的数据,如果数据来自另一个正在运行的应用程序,则特别有用。在几乎所有具有任何复制/粘贴语义的应用程序中,剪贴板都是预期的行为。

于 2009-10-23T21:24:15.847 回答