Visual Studio 2019 C#. Migliorare due codici

lunedì 27 luglio 2020 - 08.15
Tag Elenco Tags  C#

Pacifico Profilo | Junior Member

Gent.mi,

gradirei gentilmente con il vostro graditissimo aiuto risolvere due quesiti.

Con il seguente codice converte le iniziali di una frase in maiuscolo:

> TextBox1.Text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(TextBox1.Text);

non converte in maiuscolo quando vi è un apostrofo per es.
Marco E Luigi Con La Faccia D'angelo.

Con il seguente codice ho il titolo al centro della barra del Form (dove è situato la X) fornito da Morpheus87mi che saluto:

> this.Text = "Funzionamento";
Graphics g = this.CreateGraphics();
Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
Double widthOfASpace = g.MeasureString(" ", this.Font).Width;
String tmp = " ";
Double tmpWidth = 0;
while ((tmpWidth + widthOfASpace) < startingPoint)
{
tmp += " ";
tmpWidth += widthOfASpace;
}
this.Text = tmp + this.Text.Trim();

Gradirei se è possibile, avere il titolo in grassetto e la scelta del Font.

Anticipatamente ringrazio della gradita collaborazione e fiducioso, saluto.
Domenico.

morpheus87mi Profilo | Junior Member

Ciao Domenico,
scusami ma sono stato in ferie :-)

Il codice che hai bisogno dovrebbe essere:
this.Font = new Font(FontFamily.GenericSansSerif, FontStyle.Bold);

dove GenericSansSerif è il nome del font

Puoi metterlo dopo:
Graphics g = this.CreateGraphics();

Fammi sapere.
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

Gent.mo mortheus87mi,

bentornato dalle ferie, domenica prossima sarà il mio turno sul Gargano (Vieste).

Ho provato la modifica consigliata e va in errore viene segnalata in rosso la seguente riga:
> .... FontFamily.GenericSansSerif ....

Ringrazio per la disponibilità.
Domenico.

morpheus87mi Profilo | Junior Member

mi puoi mandare l'errore
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

Gent.mo mortheus87mi,

Il codice completo per avere il titolo al centro della barra:

> this.Text = "Notifica";

Graphics g = this.CreateGraphics();

this.Font = new Font(FontFamily.GenericSansSerif, FontStyle.Bold);

Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
Double widthOfASpace = g.MeasureString(" ", this.Font).Width;
String tmp = " ";
Double tmpWidth = 0;
while ((tmpWidth + widthOfASpace) < startingPoint)
{
tmp += " ";
tmpWidth += widthOfASpace;
}
this.Text = tmp + this.Text.Trim();

morpheus87mi Profilo | Junior Member

Ok. Vorrei sapere la descrizione dell'errore nella riga segnalata.
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

Gent.mo mortheus87mi,

La descrizione che appare:

> non è possibile convertire da "System.Drawing.FontFamily" a "System.Drawing:Font <

morpheus87mi Profilo | Junior Member

prova a sostituire la precedente riga con
this.Font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), 10);
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

Gent.mo,

non appare l'errore, tutto normale senza il grassetto.

Domenico

morpheus87mi Profilo | Junior Member

Si si giusto. Prova questo:

this.Font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), FontStyle.Bold);
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

Gent.mo,

presenta lo stesso errore di prima

> non è possibile convertire da "System.Drawing.FontFamily" a "System.Drawing:Font <

morpheus87mi Profilo | Junior Member

Prova questo:
this.Font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), System.Drawing.FontStyle.Bold);
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

gent.mo,

non vuole decollare, lo stesso errore ed il titolo appare non al centro bensì verso sinistra.

morpheus87mi Profilo | Junior Member

Prova con entrambe le righe, quella di prima puoi eliminarla:

this.Font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), 10);
this.Font = new Font(this.Font, System.Drawing.FontStyle.Bold);
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione

Pacifico Profilo | Junior Member

sono rammaricato niente errori, niente grassetto ed il titolo
non al centro.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5