Domanda

sto usando GTK Sharp a lavorare su alcuni GUI per la mia app.

Date un'occhiata a questo pezzo di codice:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);

Avviso fontdesc.Size è commentata. Perché solo quando io commento fuori, io vedere l'etichetta con il testo. Se ho impostato alcun valore ad essa, non apparirà l'etichetta.

Inoltre, ho fatto un Console.WriteLine, e la dimensione predefinita è 0. Così ho provato frontdesc.Size = 0, e scompare ancora, qualche idea?

Grazie!

È stato utile?

Soluzione

questo fuori. È necessario impostare a 12 * Scale.PangoScale. Ho avuto un problema simile con le API C.

Altri suggerimenti

Questa è essenzialmente una versione C # del altra risposta PangoScale:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....

Note: FontDescription.Size è un int e PangoScale è di tipo doppia così è necessario un cast tipo o altra doppia a int conversione. Scala è probabile ambiguo negli spazi dei nomi di riferimento, in modo che il Pango.Scale riferimento completo è probabilmente meglio utilizzare.

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