Didascalia della barra del titolo centrale del modulo nastro di Syncfusion WinForms?

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

  •  06-07-2019
  •  | 
  •  

Domanda

Esiste un modo per allineare al centro il testo in un modulo WinForms? Conosciuta anche come didascalia della barra del titolo o testo della barra del titolo? Finora l'unico modo che posso vedere per farlo è riempire la stringa di spazi. Sto impostando la didascalia della barra del titolo utilizzando la proprietà Form.Text.

Dovrei aggiungere che sto usando un modulo a nastro di terze parti, quindi l'app sembra un'applicazione di Microsoft Office 2007. E quelle app allineano al centro il testo, presumibilmente perché quando il testo è allineato a sinistra viene aggiunto al miscuglio di pulsanti in alto a sinistra e ha un bell'aspetto.

È stato utile?

Soluzione 2

Per chiunque sia interessato, sto usando Syncfusion Essential Tools. La soluzione è questa:

this.ribbonToolbar.TitleAlignment = Syncfusion.Windows.Forms.Tools.TextAlignment.Center;

L'allineamento del titolo è una proprietà della barra degli strumenti della barra multifunzione e non di RibbonForm, il che spiega perché non l'ho trovato prima. Grazie a tutti coloro che hanno risposto.

Altri suggerimenti

Onestamente - non farlo. Gli utenti Windows si aspettano che alcune cose funzionino in un certo modo, e questo non soddisferebbe le pratiche standard. Per non parlare del fatto che il pulsante nella barra delle applicazioni non mostrerebbe più il testo della barra del titolo in quanto verrebbe spostato a destra.

Puoi assumere completamente l'area non client di un modulo, nel qual caso puoi fare quello che ti piace. Anche se lo facessi, la mia raccomandazione per il tuo design sarebbe quella di avere il titolo in alto a sinistra, il pulsante di chiusura in alto a destra, ecc.

La barra del titolo è renderizzata dal sistema e non esiste alcuna opzione per centrare il testo.

Per centrare efficacemente, dovresti disegnare tu stesso la barra del titolo: questo può essere fatto nel codice nativo gestendo i messaggi WM_NCPAINT e così, ma non sei sicuro di come possa essere fatto facilmente in .NET.

Ma perché vuoi cambiare? Gli standard di Windows UX hanno il testo allineato a sinistra.

Non credo che tu possa.

Potresti nascondere la barra del titolo e sostituirla con un controllo utente e implementare la stessa funzionalità di una barra del titolo, ma non penso che sarebbe una buona idea.

La coerenza per l'utente è probabilmente più importante di qualsiasi motivo abbiate per voler centrare il testo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top