StringFormat.SetTabStops(Single, Single[]) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Tabulátorokat állít be ehhez az StringFormat objektumhoz.
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())
Paraméterek
- firstTabOffset
- Single
A szövegsor eleje és az első tabulátor közötti szóközök száma.
- tabStops
- Single[]
A tabulátorok közötti távolságok tömbje a tulajdonság által PageUnit megadott egységekben.
Példák
Az alábbi példa Windows Forms való használatra készült, és PaintEventArgse szükséges, amely a Paint eseménykezelő paramétere. A kód a következő műveleteket hajtja végre:
A tabulátorainak StringFormatbeállítása
Megrajzolja a sztringet és az elrendezési téglalapot. Vegye figyelembe, hogy a sztring lapokat tartalmaz. A lapbeállítások StringFormat megadják a többlapos szöveg eltolásait.
Lekéri a tabulátorokat, és az értékeket használja vagy vizsgálja meg.
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
Megjegyzések
A tömb minden tabulátor eltolása tabStops az első kivételével az előzőhöz képest van. Az első tabulátor eltolás a megadott kezdeti eltolási pozícióhoz firstTabOffsetképest van. Ha például a kezdeti eltolás pozíciója 8, az első tabulátor eltolása pedig 50, akkor az első tabulátor az 58. pozícióban van. Ha a kezdeti eltolási pozíció nulla, akkor az első tabulátor eltolás a 0 pozícióhoz, a sztring forrásához képest van.