Привязки клавиш IIRC ведут себя так же, как при вводе в текстовое поле. В частности, я имею в виду, что если вы удерживаете кнопку (в данном случае клавишу со стрелкой вправо), она отправит нажатие клавиши один раз, а через секунду или две начнется быстрая отправка нажатия клавиши. Вот почему вы получите прерывистое движение, игровой цикл запускается чаще, чем называется привязка.
Вот почему лучше опрашивать ключи слушателем каждый раз, когда запускается основной цикл, потому что тогда анимация будет становиться такой же прерывистой, как и сам цикл. И если этот цикл становится прерывистым, игра просто медленно работает в полном объеме.
Из того, что я собираюсь из подобного вопроса, который задают в другом месте, эта "функция" не, встраивают в Visual Studio.
Однако похоже, что MSDN имеет макрос, который можно использовать для печати всего кода; возможно, можно использовать это или что-то как он:
Sub PrintItemsInSelectedProject()
Dim proj As Project
Dim objProj As Object()
objProj = DTE.ActiveSolutionProjects
If objProj.Length = 0 Then
Exit Sub
End If
proj = DTE.ActiveSolutionProjects(0)
PrintItemsInSelectedProject(proj.ProjectItems)
End Sub
Private Sub PrintItemsInSelectedProject( _
ByVal projitems As ProjectItems)
Dim projitem As ProjectItem
For Each projitem In projitems
If (IsPrintableFile(projitem) = True) Then
If (projitem.IsOpen( _
EnvDTE.Constants.vsViewKindTextView)) Then
projitem.Document.PrintOut()
Else
Dim doc As Document
doc = projitem.Open( _
EnvDTE.Constants.vsViewKindTextView).Document
doc.PrintOut()
doc.Close(vsSaveChanges.vsSaveChangesNo)
End If
End If
PrintItemsInSelectedProject(projitem.ProjectItems)
Next
End Sub
Function IsPrintableFile( _
ByVal projItem As ProjectItem) As Boolean
Dim fileName As String
Dim extensions As _
New System.Collections.Specialized.StringCollection
' If you add a file to your project that is of
' a type that can be printed,
' then add the extension of that
' file type to this list.
Dim exts As String() = {".cs", ".vb", _
".aspx", ".xsd", ".xml", ".xslt", _
".config", ".htm", ".html", ".css", _
".js", ".vbs", ".wsf", ".txt", ".cpp", _
".c", ".h", ".idl", ".def", ".rgs", ".rc"}
extensions.AddRange(exts)
fileName = projItem.FileNames(1)
Return extensions.Contains( _
System.IO.Path.GetExtension(fileName).ToLower())
End Function