2012-11-24 18 views
5

Aktualnie tworzę raporty w BIDS (SQL Server 2008 R2, VS2008).Przypisywanie skrótu klawiaturowego do pozycji menu kontekstowych w projektancie raportów

czuję, że stale trzeba przejść dialogi Expression... i Textbox properties... w projektancie

textbox context menu

ale spowalnia mnie użyć menu kontekstowego myszy i cały czas. (Nie są nawet najlepszymi pozycjami w menu!) Jest jeszcze gorzej z klawiaturą na moim laptopie, która niestety nie ma przycisku menu kontekstowego.

Czy istnieje sposób, aby przypisać skróty klawiaturowe (jak CTRL & CTRL) do tych dialogów?

Próbowałem znaleźć je w oknie dostosowywania klawiatury, a nawet próbował nagrać makro, ale nic nie działa.

Najbliżej mam to PrzesunięcieF10E i PrzesunięcieF10P ale za to muszę obie ręce.

Mam go do pracy po raz ostatni pracowałem z raportami kilka lat temu w VS2005.

+0

MSDN ma artykuł pod adresem [http://msdn.microsoft.com/en-us/library/ms173782(v=sql.105).aspx], który wyjaśnia, jak dostosować skróty klawiaturowe w OFERTY – thomasswilliams

+0

@thomasswilliams Twój link nie działa, ale zakładam, że masz na myśli stronę, na której napisane jest, że powinienem użyć okna dostosowywania klawiatury. Moje pytanie brzmi: jak znaleźć powyższe dwie pozycje menu w tym oknie dialogowym. – adrianm

+0

Ups, moje przyzwyczajenia do wstawiania znaczników wiki - SO zawiera nawias kwadratowy w łączu http://msdn.microsoft.com/en-us/library/ms173782(v=sql.105).aspx – thomasswilliams

Odpowiedz

1

Zazwyczaj skróty w Visual Studio (ofert), można przejść Narzędzia -> Opcje -> Environment -> Klawiatura

Jeśli filtrować listę poleceń, aby lista krótszy, można znajdź żądane polecenie i kliknij pole tekstowe "Naciśnij klawisze skrótów:", a następnie naciśnij żądaną kombinację skrótów.

Próbowałem tego i wszystko co związane z ekspresją nie działa :(. Zasadniczo jest to dość trudne wiedzieć, co te wszystkie polecenia są i trudno znaleźć ten, który chcesz.

Ale nie ma innej opcji. Jest to bit-a-bout, ale działa dobrze Zasadniczo polega to na utworzeniu makra, które wyśle ​​shift-F10-E do aktywnego kontekstu, a następnie powiązaniu tego makra z wybranymi skrótami klawiszowymi, np. CTRL-1. przy użyciu programu Visual Studio 2008 (instalowanego z dysku SQL Server 2008R2)

1) Pokaż okno makra, wybierając Widok -> Inne okna -> Eksplorator makra

2) Utwórz nowy moduł w ramach "MyMacros"

3) Wprowadź ten kod VB.NET:

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports System.Diagnostics 

Public Module UserShortcuts 
    Public Sub ShowExpression() 
     System.Windows.Forms.SendKeys.SendWait("+{F10}E") 
    End Sub 
End Module 

4) Przejdź do Narzędzia -> Opcje -> Environment -> Klawiatura

5) Wpisz "makra" w pole tekstowe "Pokaż polecenia zawierające:", a podmenu zdefiniowany w module w powyższym kodzie pojawi się i możesz go podświetlić.

6) Możesz wtedy zaznaczyć pole tekstowe "Naciśnij klawisze skrótów" i wpisać [CTRL] + 1 lub cokolwiek chcesz, a następnie kliknąć przycisk [Przypisz].

7) This MSDN page pokazuje wszystkie kluczowe opcje, które można wybrać dla metody SendWait. Jeśli chcesz dodać więcej skrótów klawiaturowych, po prostu dodaj więcej wpisów Sub() w module dla każdego, a następnie zmapuj je zgodnie z krokami od 4 do 6.

Napisałem rozszerzoną wersję tego rozwiązania here.

+0

Dzięki. Działa to dobrze, dopóki wybrana jest komórka. Niestety BIDS ma tendencję do rozpoczęcia edycji komórki po kliknięciu, a następnie makro nie działa z jakiegoś powodu. Próbowałem z małym opóźnieniem bez szczęścia. I tak go wykorzystam. – adrianm

+0

Menu jest zawsze zależne od kontekstu, więc zależy od wybranej komórki. Kliknięcie na komórkę może być z pewnością skrzypce i tak, musisz kliknąć komórkę bez klikania, aby to zadziałało. Aby to zrobić, nie klikaj części komórki, w której widoczny jest tekst. Kliknij część komórki, która jest pusta jeden raz i wybierze komórkę, dwa razy i trafi do komórki. Kliknij jeden raz na komórkę, w której znajduje się tekst, i przejdź bezpośrednio do komórki. – Davos

+0

Wiem, jak wybrać komórkę. Dziwne jest to, że jeśli dojdę do trybu edycji, otworzy się menu kontekstowe, ale "Wyrażenie" nie zostanie wybrane, nawet jeśli jest dostępne. Nie twoja wina oczywiście i jestem bardzo zadowolony z twojego rozwiązania. – adrianm