Прочитать на английском

Поделиться через


StringFormat.SetTabStops(Single, Single[]) Метод

Определение

Задает остановки табуляции для этого объекта StringFormat.

C#
public void SetTabStops(float firstTabOffset, float[] tabStops);

Параметры

firstTabOffset
Single

Количество пробелов между началом строки текста и первой остановкой табуляции.

tabStops
Single[]

Массив расстояний между остановками табуляции в единицах, указанных свойством PageUnit.

Примеры

Следующий пример предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Задает остановки вкладки StringFormat.

  • Рисует строку и прямоугольник макета. Обратите внимание, что строка содержит вкладки. Параметры вкладки StringFormat указывают смещения табуляции текста.

  • Возвращает вкладку, останавливается и использует или проверяет значения.

C#
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]);
    }
}

Комментарии

Каждое смещение табуляции в массиве tabStops, кроме первого, относительно предыдущего. Первое смещение табуляции относительно начальной позиции смещения, указанной firstTabOffset. Например, если начальное положение смещения равно 8, а первое смещение табуляции равно 50, то первая остановка табуляции находится в позиции 58. Если начальная позиция смещения равна нулю, первое смещение табуляции равно позиции 0, источник строки.

Применяется к

Продукт Версии
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10