StringFormat.SetTabStops(Single, Single[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define paradas de tabulação para este objeto StringFormat.
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())
Parâmetros
- firstTabOffset
- Single
O número de espaços entre o início de uma linha de texto e a primeira parada de tabulação.
- tabStops
- Single[]
Uma matriz de distâncias entre paradas de tabulação nas unidades especificadas pela propriedade PageUnit.
Exemplos
O exemplo a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse
, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:
Define as paradas de tabulação do StringFormat.
Desenha a cadeia de caracteres e o retângulo de layout. Observe que a cadeia de caracteres contém guias. As configurações de guia do StringFormat especificam os deslocamentos do texto com guias.
Obtém a guia para e usa ou inspeciona os valores.
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
Comentários
Cada deslocamento de parada de tabulação na matriz tabStops
, exceto a primeira, é relativo ao anterior. O primeiro deslocamento de parada de tabulação é relativo à posição inicial de deslocamento especificada por firstTabOffset
. Por exemplo, se a posição inicial de deslocamento for 8 e o primeiro deslocamento de parada de tabulação for 50, a primeira parada de tabulação estará na posição 58. Se a posição inicial de deslocamento for zero, o primeiro deslocamento de parada de tabulação será relativo à posição 0, a origem da cadeia de caracteres.