VB : s MsgBox funktion har inga möjligheter att centrera text du vill ska visas med funktionen . Du kan dock skapa en ekvivalent funktion som gör skärmen centrerad text . Ett sätt att skapa denna funktion är att utforma ett anpassat formulär med en etikett som dynamiskt repositions själv när formuläret innehåller etiketten skalas . Design i form
Det första steget i att skapa en egen MsgBox funktion vars text du kan dynamiskt centrera är att utforma anpassade formulär som ska visa texten . Det handlar om att skapa ett VB Windows Form projektet . Inne VB utvecklingsmiljö , tryck på " Control" och " N " samtidigt , klicka på Windows-formulär objektet för att skapa ett sådant projekt .
Label Kontroll
När formulärdesignen fönstret visas drar en etikett kontroll från verktygslådan till formuläret . Placera etiketten någonstans , ditt program kommer att koncentreras på etiketten . Däremot behöver du ange att texten inuti Label måste centreras . För att göra detta, klicka på " Text Align " egendom i fönstret Egenskaper . VB kommer att visa ett litet formulär med nio knappar på den . Varje knapp indikerar en anpassning alternativ för etikettens text . Klicka på den mittersta knappen för att ange att etiketten texten ska centreras . Tillfoga någon text till etiketten genom att skriva denna text i " Text " egendom i fönstret Egenskaper . Skriv till exempel " Här är lite text jag vill centrera . " Addera ditt programmeringsfönstret
Efter att utforma formuläret för att simulera MsgBox funktion Ange programmeringsfönstret , där du kan skriva uttalanden som center i Label-kontrollen som håller texten . Genom att trycka " F7 " tar dig till detta fönster .
Formulärhändelser
VB formulär kan ta någon storlek användaren vill dra dem till . Detta beteende innebär att din text inte kommer sannolikt att vara centrerad om du kan upptäcka när formuläret storlek ändras , och ändra placeringen av den etikett som håller din text därefter. Windows Event funktioner ger ett sätt att upptäcka storleksändring och andra evenemang . Den specifika händelsen funktionen krävs för att skriva uttalanden som dynamiskt centrum text är Paint händelsen . Närhelst VB behöver rita om formen , är denna händelse används funktionen . Ändra storlek utlöser denna händelse , som gör formuläret återkommer bakifrån annan programfönstret .
Anpassa Paint Händelse
meddela VB du vill skriva din text - centrering program Paint händelse genom att markera denna händelse från programmeringsfönstret s vallista . Klicka på " Form händelsen " från den vänstra listrutan ovanför programmeringsfönstret , klicka sedan på " Paint " objekt från den högra listrutan . VB visar tomma Paint funktion för dig att fylla med dina egna uttalanden .
Beräkningar för centrering
Använda Paint uttalande att centrera en Label-kontrollen innebär några grundläggande beräkningar. Du skulle göra samma beräkningar för att centrera texten på fysiska medier , som en bit papper . Klistra följande uttalanden i Paint funktionen . Dessa uttalanden beräkna den vänstra kanten av etiketten kontroll vars text du centrering . Uttalandet kommentarer förklarar varje steg i beräkningen . Testa din MsgBox emulator för centrering text genom att trycka på " F5 " tangenten . När programmets formuläret visas drar ett av sina hörn för att ändra storlek på formen . Din text kommer att vara centrerade .
" Få storleken på etiketten " Get storlek form " Subtrahera etikett storlek från formulär storlek" Dividera med 2 ' Set label.left att resultera
Dim w , w2 , difw = Me.Size.Widthw2 = Label1.Size.Widthdif = w - w2dif = DIF /2Label1.Left = DIF