Эти два полезных класса находятся под справочником System.Windows.Forms ....Что класс Clipboard или SendKeys имеет отношение к WinForms?
Я не вижу много отношения между ними и winforms. Кто-нибудь знает, почему они там?
спасибо.
Эти два полезных класса находятся под справочником System.Windows.Forms ....Что класс Clipboard или SendKeys имеет отношение к WinForms?
Я не вижу много отношения между ними и winforms. Кто-нибудь знает, почему они там?
спасибо.
Они внутренне используют API-интерфейсы платформы Win32, на которых была построена WinForm.
SendKeys может быть удобен для выделения текстовых полей. SendKeys «{HOME} + {END}» - это типичный метод, перенесенный с Visual Basic, когда текстовое поле имеет фокус.
Класс Clipboard полезен, поскольку он позволяет получать данные, хранящиеся в буфере обмена, особенно полезно, если это данные, поступающие из другого приложения. Ожидается, что буфера обмена будет работать практически во всех приложениях, имеющих семантику copy/paste.
= \ так что? он по-прежнему может быть полезен в Windows Service, консоли, WPF ...... – Letterman
re: выбор текста текстового поля: http://msdn.microsoft.com/en-us/library/system.windows. forms.textboxbase.selectall.aspx Кроме того, я не вижу причин, по которым «буфер обмена» не был бы полезен, скажем, в приложении консоли. – theraccoonbear
Я подумал, что когда-то определенное использование самоочевидно. Кстати, служба windows не будет выполняться в проекте форм Windows, и вряд ли вам понадобится ссылка на пространство имен. – t3rse
Windows Forms был, когда он был создан, единственным (Microsoft) средством создания графического пользовательского интерфейса на рабочем столе.
SendKeys и Clipboard оба используют API Windows для управления приложениями графического интерфейса. Когда это было создано, было разумно предположить, что они будут использоваться из программы GUI, которая (тогда) означала приложение Windows Forms.
Ни один из них, как правило, не используется из приложения Консоль, но если вы это делаете, в том числе «оконные» сборки (которые в то время означали формы окон) было разумным делом, работая с системой Windowing.
Я согласен с тем, что теперь, когда существует WPF, было бы лучше иметь их в отдельной сборке. Однако Microsoft очень хорошо поддерживает обратную совместимость.
С этой целью они оставили это в пространствах имен Windows Forms, но также реализовали System.Windows.Clipboard для приложений WPF. (Я считаю, что они решили, что SendKeys не требуется в современной разработке, поскольку это своего рода злоупотребление, и просто оставил его по дизайну.)
Вообще говоря, вы не использовали бы буфер обмена или SendKeys с приложением ASP.Net или консольное приложение, поэтому для них есть смысл в System.Windows.Forms
.
Где вы ожидаете от него быть? В System.ClipboardAndSendKeys
?
они все еще могут быть в другой dll .... – Letterman
Но главным образом в user32.dll. – Codism