StringFormat.SetTabStops(Single, Single[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает остановки табуляции для этого объекта 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())
Параметры
- firstTabOffset
- Single
Количество пробелов между началом строки текста и первой остановкой табуляции.
- tabStops
- Single[]
Массив расстояний между остановками табуляции в единицах, указанных свойством PageUnit.
Примеры
Следующий пример предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика событий Paint. Код выполняет следующие действия:
Задает остановки вкладки StringFormat.
Рисует строку и прямоугольник макета. Обратите внимание, что строка содержит вкладки. Параметры вкладки StringFormat указывают смещения табуляции текста.
Возвращает вкладку, останавливается и использует или проверяет значения.
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
Комментарии
Каждое смещение табуляции в массиве tabStops
, кроме первого, относительно предыдущего. Первое смещение табуляции относительно начальной позиции смещения, указанной firstTabOffset
. Например, если начальное положение смещения равно 8, а первое смещение табуляции равно 50, то первая остановка табуляции находится в позиции 58. Если начальная позиция смещения равна нулю, первое смещение табуляции равно позиции 0, источник строки.