none
Form1 Titel-Überschrift Font ändern - Visual Basic 2010 Express RRS feed

  • Frage

  • Der Form1.Text hat feste Größe (ca. 8 px). Gibt eine Möglichkeit die Fontgröße "beliebig" ändern?

    Hilf mir bitte! Danke!

    Gruß

    geogott

    Freitag, 18. Februar 2011 21:38

Antworten

Alle Antworten

  • Der Form1.Text hat feste Größe (ca. 8 px). Gibt eine Möglichkeit die Fontgröße "beliebig" ändern?

    Dafür gäbe es wohl System.Windows.Forms.Form.Font

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 18. Februar 2011 22:38
    Moderator
  • Hallo geogott,

    in Stefan Link findest du die Codezeile:

    MyControl.Font = New Font(MyControl.Font, MyControl.Font.Style Or FontStyle.Bold)

    MyControl steht in dem darauf folgenden Beispiel für einen DateTimePicker.

    Ich bin mir beim Lesen deiner Frage nicht sicher, ob deine Frage grundsätzlich auf die Schriftart-, Größe und Farbe eines Controls innerhalb der Form1 bezieht oder ob du die Schriftgröße in der Titelleiste deiner Form meinst. Aufgrunde deiner Formulierung " Form1.Text" bin ich von der Schriftgröße der Titelleiste ausgegangen und bin bislang auch gescheitert. Im VB2008-Buch von Galileo Computing habe ich dazu gelesen, dass dies nicht möglich wäre.

    Für Controls innerhalb einer Form kannst du folgendes oder ähnliches machen:

     Me.Font = New Font(Fnt, StartFonSiz, FontStyle.Italic And FontStyle.Bold)
        Me.MenuStrip1.Font = Me.Font
        Me.StatusStrip1.Font = Me.Font
    
    Hierbei habe ich natürlich vorher die Variablen Fnt und StartFonSiz  als Public deklariert.

    Public Fnt As String = "Arial Bold"
      Public InfoFonSiz As String = "Schriftgöße: "
      Public MinFonSiz As Integer = 6 'kleinstmögliche Schriftgröße
      Public MaxFonSiz As Integer = 26 'größtmögliche Schriftgröße
      Public StartFonSiz As Integer = 10 ' Wert wird über My.Settings 
    

    Um nicht den "Zu Guttenberg-Fehler :-) " zu begehen, in Kapitel 11.6.8 (Font) der Ausgabe VB 2008 von Galileo Computing steht:

    Zitat : Die Eigenschaft Font , die vom gleichnamigen Typ Font ist, wirkt sich auf die Darstellung von Text aus, der im Arbeitsbereich einer Form ausgegeben wird. Außerdem wird diese Eigenschaft von allen untergeordneten Controls der Form übernommen. Font ändert jedoch nicht die Schriftdarstellung in der Titelleiste."


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Sonntag, 20. Februar 2011 13:54
  • Hallo,

    als Nachtrag zu meiner letzten Antwort hier noch ein Link .

    http://social.msdn.microsoft.com/Forums/en-US/vbide/thread/1788183d-b79a-4fa2-85b9-e6e680baba4c

    Also für den Fall, dass du dieSchriftart in der Titelleiste ändern möchtest, musst du etwas tiefer in die Trickkiste greifen.
    Noch ein Link führt zu einem Weg, der allerdings nicht in Visual Basic beschrieben ist.

    Viel Erfolg


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Sonntag, 20. Februar 2011 15:46
  • Hallo Stefan,

    es geht um den Titel-Überschrift.

    LG

    geogott

    Dienstag, 1. März 2011 07:54
  • Hallo Giftzwockel,

    DANKE!!! Deine ausführliche Hilfe, es geht um den Titel-Überschrift.

    LG

    geogott

    Dienstag, 1. März 2011 07:57
  • Hallo Giftzwockel,

    DANKE!!! die Links, das ist, was ich brauche. Es ist etwas komplizierter, wie ich dachte.

    LG

    geogott

    Dienstag, 1. März 2011 07:59
  • Hallo geogott,

    Aufpassen dass GetSystemParametersInfo() API Funktion mit  SPI_SETNONCLIENTPARAMETERS nicht nur Dein Fenster aus der Anwendung wechselt sondern *alle* Fenster weil das vom Betriebsystem kontrolliert ist.

    Mithilfe der SystemFonts.CaptionFont-Eigenschaft kann man herausfinden den Font, der zum Anzeigen von Text auf den Titelleisten von Fenstern verwendet wird…und seine Size z.B. Console.WriteLine(SystemFonts.CaptionFont.Size.ToString())

    Schau mal auch folgendes an (da brauch man kein Code schreiben):

    In Windows 7: Start à Run à desk.cpl ,5 à dann kommt Window Color und Appearance auf und in der Item DropDown-ListBox haben wir Active Title Bar und Inactive Title Bar in der Liste. Jeder Eintrag von diesen beiden hat Font und Size.

    In Windows Vista findet das man unter Control Panel\Appearance and Personalization\Personalization à Appearance Settingsà Advanced Knopf

    **********************************************************************************************************************************

    Sicher es gibt noch Varianten wie zum Beispiel ein Borderless Windows erstellen (Windows.Forms.FormBorderStyle.None) und eine Custom Title Bar erstellen.

    Schau Dir mal die folgenden Links an. Vielleicht können sie Dir auch weiter helfen.

    Drawing Custom Borders in Windows Forms

    Easy Customize Title Bar à lies mal den Eintrag mit How to Use the Title Bar in your Application

    Windows Forms Tips and Tricks

    Grüße,

    Robert

    Dienstag, 1. März 2011 11:44
  • Hallo Robert,

    herzlichen DANK, Du hast mir reichlich Materie gegeben...

    Teilweise in VC++ codiert, da muss ich erst die Code verstehen.

    LG

    geogott

    Dienstag, 1. März 2011 14:51