In genere le lettere dei tasti di scelta rapida su MenuStrip sono sottolineate. (& File, & Aperto, ecc.) In un progetto che sto lavorando alla sottolineatura viene visualizzato nella finestra di progettazione, ma non in fase di esecuzione. Non riesco a trovare la proprietà che controlla questo. Qualcuno là fuori lo sa?Winform MenuStrip Tasto rapido sottolineato Lettera
risposta
In Windows, c'è un'impostazione se mostrare o meno la sottolineatura. Per modificare l'impostazione,
- fare clic destro sul desktop
- Selezionare "Proprietà"
- Fare clic sulla scheda "Aspetto"
- Fare clic sul pulsante "Effetti"
- deselezionare la casella " Nascondi lettere sottolineate per la navigazione da tastiera "
Bello. Sapevo che l'ambientazione era da qualche parte, ma ricorda come arrivarci. – Crispy
Grazie, era così. Senti una specie di stupido che fa la domanda ora. :-) – Jeff
Voglio dire che risolve davvero il problema? Qualsiasi utente che riceve la propria applicazione dovrà modificare manualmente tale impostazione o sarà necessario aggiungere qualcosa a un'applicazione di configurazione per modificare automaticamente l'impostazione. – Mark
Si visualizzano solo in fase di esecuzione quando l'utente preme il tasto alt. Quando si preme il tasto alt, il modulo pensa che si potrebbe voler utilizzare una delle scorciatoie in modo da visualizzare la sottolineatura.
È possibile forzare l'utente a visualizzare la sottolineatura creando un renderer ToolStrip personalizzato. Mi ci è voluto un po 'per capire come bypassare la risposta di Chris. Ecco il programma di rendering che ho creato:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace YourNameSpace
{
class CustomMenuStripRenderer : ToolStripProfessionalRenderer
{
public CustomMenuStripRenderer() : base() { }
public CustomMenuStripRenderer(ProfessionalColorTable table) : base(table) { }
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
e.TextFormat &= ~TextFormatFlags.HidePrefix;
base.OnRenderItemText(e);
}
}
}
E poi il modulo con il MenuStrip, nel costruttore è possibile impostare il programma di rendering:
public YourFormConstructor()
{
InitializeComponents();
menuStripName.Renderer = new CustomMenuStripRenderer();
}
Vorrei notare che, se si preferisce uno stile di sistema aspetto del renderering puoi estendere la classe ToolStripSystemRenderer al posto del Professional ma mi piace poter personalizzare la tabella dei colori. Questa è la correzione che non richiede che il client modifichi le sue impostazioni del computer. Godere!
Bella soluzione al problema. –
Grazie Cris, hai fornito esattamente quello che stavo cercando. –
Funzionerebbe qualcosa del genere ma applicato ai pulsanti di comando (che possono anche avere un tasto di scelta rapida) ?? – Diego
Per la domanda di follow-up relative a questo, vale a dire, ottenere questo a lavorare per tutte le vostre applicazioni tasti di scelta rapida:
[DllImport ("user32.dll")]
static extern void SystemParametersInfo(uint uiAction, uint uiParam, ref
int pvParam, uint fWinIni);
const uint SPI_SETKEYBOARDCUES = 0x100B;
private static void GetAltKeyFixed()
{
//Set pvParam to TRUE to always underline menu access keys,
int pv = 1;
/* Call to systemparametersinfo to set true of pv variable.*/
SystemParametersInfo(SPI_SETKEYBOARDCUES, 0, ref pv, 0);
}
chiamata GetAltKeyFixed prima della Application.Run o equiv.
Avevo bisogno di questo per la conformità 508 e quasi tutte le risposte su questo argomento sono di modificare le impostazioni del desktop o una lacerazione "perché vorresti farlo?" risposta. Questo non è il requisito più pazzo che abbia mai sentito.
- 1. Tasto rapido globale con API WIN32?
- 2. modo rapido per fare 26 macro (uno per ogni lettera)
- 3. Sottolineato JLabel
- 4. Impedisci la gestione di WinForm AcceptButton Tasto di ritorno
- 5. Strano errore con .NET 4.0/4.5 WinForms MenuStrip Stealing Focus
- 6. Come rimuovere i margini del sottomenu MenuStrip?
- 7. MenuStrip .NET con renderer nativo per Windows?
- 8. Ada numerici letterali e Sottolineato
- 9. CSS: Rimuovere sottolineato dal testo
- 10. carattere corsivo, grassetto e sottolineato su iPhone
- 11. Sottolineato accanto al testo tenerli separati
- 12. Sottolineato nell'esempio letterale in modalità org
- 13. Sottolineato o border a forma di ciotola
- 14. Disegna il testo sottolineato/barrato (MULTILINE STRING)?
- 15. css: dopo il contenuto non ha sottolineato
- 16. Sottolineato personalizzato Testo con linea tratteggiata Android
- 17. .FromFile sottolineato rosso e che mostra l'errore
- 18. Prima lettera maiuscola per EditText
- 19. Aggiunta di un separatore orizzontale in un MenuStrip
- 20. "x" Per ridurre a icona WinForm, ContextMenu per chiudere WinForm?
- 21. Tasto di ritorno tasto AngularJS
- 22. C# - Sostituisci ogni lettera UpperCase con Underscore e la lettera
- 23. Come abbinare qualsiasi lettera maiuscola seguita dalla lettera minuscola corrispondente?
- 24. Winform senza framework .NET?
- 25. C# app.config in winform
- 26. Percorsi relativi in Winform
- 27. Elenco orizzontale winform listview
- 28. Cambia winform ToolTip backcolor
- 29. Prevenire l'ingrandimento di Winform?
- 30. Convalida UI WinForm
Vengono visualizzati quando si preme il tasto Alt? –