ClipboardまたはSendKeysクラスはWinFormsと何をする必要がありますか?

StackOverflow https://stackoverflow.com/questions/1615962

  •  06-07-2019
  •  | 
  •  

質問

これら2つの便利なクラスは、どちらもSystem.Windows.Formsリファレンスの下にあります。...

これらとwinformsの関係はあまりわかりません。なぜ存在するのか誰にもわかりませんか?

ありがとう。

役に立ちましたか?

解決

内部でWinFormが構築されたWin32プラットフォームAPIを使用します。

他のヒント

Windows Formsは、作成時にデスクトップ上にグラフィカルユーザーインターフェイスを作成する唯一の(Microsoft)手段でした。

SendKeysとクリップボードは、どちらもGUIアプリケーションを操作するためにWindows APIを使用しています。これが作成されたとき、これらはGUIプログラム内から使用されると仮定するのが合理的でした。それは(そして)Windowsフォームアプリケーションを意味していました。

これらのどちらも通常はコンソールアプリケーションから使用されませんが、使用する場合は、「ウィンドウ」を含めて、アセンブリ(当時はWindowsフォームを意味していました)は、Windowingシステムで作業しているため、実行するのが妥当なことでした。

しかし、WPFが存在するようになったので、これらを別のアセンブリに含める方がよいことに同意します。ただし、Microsoftは下位互換性の維持について非常に優れています。

この目的のために、彼らはこれをWindows Forms名前空間に残しましたが、 System.Windows.Clipboard 。 (SendKeysは悪用されているので、現代の開発ではSendKeysは不要であり、設計上は省略したと判断したと思います。)

一般的に、ASP.NetアプリケーションまたはコンソールアプリケーションでClipboardまたはSendKeysを使用することはないため、これらが System.Windows.Forms にあることはまったく理にかなっています。

彼らはどこにいると思いますか? System.ClipboardAndSendKeys

SendKeysは、テキストボックスの強調表示に便利です。 SendKeys" {HOME} + {END}"テキストボックスにフォーカスが置かれると、Visual Basicから引き継がれる典型的な手法です。

Clipboardクラスは、マシンのクリップボードに保存されたデータを取得できるため、特に実行中の別のアプリケーションからのデータである場合に便利です。クリップボードは、コピー/貼り付けのセマンティックを持つほとんどすべてのアプリケーションで予想される動作です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top