StringFormat.SetTabStops(Single, Single[]) Methode

Definitie

Hiermee stelt u tabstops voor dit StringFormat object in.

public:
 void SetTabStops(float firstTabOffset, cli::array <float> ^ tabStops);
public void SetTabStops(float firstTabOffset, float[] tabStops);
member this.SetTabStops : single * single[] -> unit
Public Sub SetTabStops (firstTabOffset As Single, tabStops As Single())

Parameters

firstTabOffset
Single

Het aantal spaties tussen het begin van een regel tekst en de eerste tabstop.

tabStops
Single[]

Een matrix van afstanden tussen tabstops in de eenheden die door de PageUnit eigenschap zijn opgegeven.

Voorbeelden

Het volgende voorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een parameter van de Paint gebeurtenis-handler. De code voert de volgende acties uit:

  • Hiermee stelt u de tabstops van de StringFormat.

  • Hiermee tekent u de tekenreeks en de rechthoek voor de indeling. De tekenreeks bevat tabbladen. De tabinstellingen van de StringFormat opgeven de verschuivingen van de tekst op tabbladen.

  • Hiermee haalt u de tabstops op en worden de waarden gebruikt of geïnspecteerd.

void GetSetTabStopsExample2( PaintEventArgs^ e )
{
   Graphics^ g = e->Graphics;

   // Tools used for drawing, painting.
   Pen^ redPen = gcnew Pen( Color::FromArgb( 255, 255, 0, 0 ) );
   SolidBrush^ blueBrush = gcnew SolidBrush( Color::FromArgb( 255, 0, 0, 255 ) );

   // Layout and format for text.
   System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Times New Roman",12 );
   StringFormat^ myStringFormat = gcnew StringFormat;
   Rectangle enclosingRectangle = Rectangle(20,20,500,100);
   array<Single>^tabStops = {150.0f,100.0f,100.0f};

   // Text with tabbed columns.
   String^ myString = "Name\tTab 1\tTab 2\tTab 3\nGeorge Brown\tOne\tTwo\tThree";

   // Set the tab stops, paint the text specified by myString, draw the
   // rectangle that encloses the text.
   myStringFormat->SetTabStops( 0.0f, tabStops );
   g->DrawString( myString, myFont, blueBrush, enclosingRectangle, myStringFormat );
   g->DrawRectangle( redPen, enclosingRectangle );

   // Get the tab stops.
   float firstTabOffset;
   array<Single>^tabStopsObtained = myStringFormat->GetTabStops( firstTabOffset );
   for ( int j = 0; j < tabStopsObtained->Length; j++ )
   {
      // Inspect or use the value in tabStopsObtained[j].
      Console::WriteLine( "\n  Tab stop {0} = {1}", j, tabStopsObtained[ j ] );
   }
}
public void GetSetTabStopsExample2(PaintEventArgs e)
{
    Graphics     g = e.Graphics;
             
    // Tools used for drawing, painting.
    Pen          redPen = new Pen(Color.FromArgb(255, 255, 0, 0));
    SolidBrush   blueBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
             
    // Layout and format for text.
    Font         myFont = new Font("Times New Roman", 12);
    StringFormat myStringFormat = new StringFormat();
    Rectangle    enclosingRectangle = new Rectangle(20, 20, 500, 100);
    float[]      tabStops = {150.0f, 100.0f, 100.0f};
             
    // Text with tabbed columns.
    string       myString =
        "Name\tTab 1\tTab 2\tTab 3\nGeorge Brown\tOne\tTwo\tThree";
             
    // Set the tab stops, paint the text specified by myString, draw the
    // rectangle that encloses the text.
    myStringFormat.SetTabStops(0.0f, tabStops);
    g.DrawString(myString, myFont, blueBrush,
        enclosingRectangle, myStringFormat);
    g.DrawRectangle(redPen, enclosingRectangle);
             
    // Get the tab stops.
    float   firstTabOffset;
    float[] tabStopsObtained = myStringFormat.GetTabStops(out firstTabOffset);
    for(int j = 0; j < tabStopsObtained.Length; j++)
    {
             
        // Inspect or use the value in tabStopsObtained[j].
        Console.WriteLine("\n  Tab stop {0} = {1}", j, tabStopsObtained[j]);
    }
}
Public Sub GetSetTabStopsExample2(ByVal e As PaintEventArgs)
    Dim g As Graphics = e.Graphics

    ' Tools used for drawing, painting.
    Dim redPen As New Pen(Color.FromArgb(255, 255, 0, 0))
    Dim blueBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))

    ' Layout and format for text.
    Dim myFont As New Font("Times New Roman", 12)
    Dim myStringFormat As New StringFormat
    Dim enclosingRectangle As New Rectangle(20, 20, 500, 100)
    Dim tabStops As Single() = {150.0F, 100.0F, 100.0F}

    ' Text with tabbed columns.
    Dim myString As String = "Name" & ControlChars.Tab & "Tab 1" _
    & ControlChars.Tab & "Tab 2" & ControlChars.Tab & "Tab 3" _
    & ControlChars.Cr & "George Brown" & ControlChars.Tab & "One" _
    & ControlChars.Tab & "Two" & ControlChars.Tab & "Three"

    ' Set the tab stops, paint the text specified by myString,
    ' and draw rectangle that encloses the text.
    myStringFormat.SetTabStops(0.0F, tabStops)
    g.DrawString(myString, myFont, blueBrush, _
    RectangleF.op_Implicit(enclosingRectangle), myStringFormat)
    g.DrawRectangle(redPen, enclosingRectangle)

    ' Get the tab stops.
    Dim firstTabOffset As Single
    Dim tabStopsObtained As Single() = _
    myStringFormat.GetTabStops(firstTabOffset)
    Dim j As Integer
    For j = 0 To tabStopsObtained.Length - 1

        ' Inspect or use the value in tabStopsObtained[j].
        Console.WriteLine(ControlChars.Cr & "  Tab stop {0} = {1}", _
        j, tabStopsObtained(j))
    Next j
End Sub

Opmerkingen

Elke tabstop-verschuiving in de tabStops matrix, behalve de eerste, is ten opzichte van de vorige. De eerste tabstop-verschuiving is ten opzichte van de initiële offsetpositie die is opgegeven door firstTabOffset. Als de eerste verschuivingspositie bijvoorbeeld 8 is en de eerste tabstop-verschuiving 50 is, bevindt de eerste tabstop zich op positie 58. Als de eerste verschuivingspositie nul is, is de eerste tabstop-verschuiving ten opzichte van positie 0, de oorsprong van de tekenreeks.

Van toepassing op