HelpText
Contenuti
[
Nascondere
]FormField.HelpText property
Restituisce o imposta il testo visualizzato in una finestra di messaggio quando il campo del modulo è attivo e l’utente preme F1.
public string HelpText { get; set; }
Osservazioni
Se ilOwnHelp
la proprietà è impostata suVERO
,HelpText
specifica il valore della stringa di testo. SeOwnHelp
è impostato sufalso
,HelpText
specifica il nome di una voce di testo automatico che contiene il testo help per il campo del modulo.
Microsoft Word consente stringhe composte da un massimo di 255 caratteri.
Esempi
Mostra come inserire diversi tipi di campi modulo in un documento ed elaborarli utilizzando un’implementazione del visitatore del documento.
public void Visitor()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Utilizzare un generatore di documenti per inserire una casella combinata.
builder.Write("Choose a value from this combo box: ");
FormField comboBox = builder.InsertComboBox("MyComboBox", new[] { "One", "Two", "Three" }, 0);
comboBox.CalculateOnExit = true;
Assert.AreEqual(3, comboBox.DropDownItems.Count);
Assert.AreEqual(0, comboBox.DropDownSelectedIndex);
Assert.True(comboBox.Enabled);
builder.InsertBreak(BreakType.ParagraphBreak);
// Utilizzare un generatore di documenti per inserire una casella di controllo.
builder.Write("Click this check box to tick/untick it: ");
FormField checkBox = builder.InsertCheckBox("MyCheckBox", false, 50);
checkBox.IsCheckBoxExactSize = true;
checkBox.HelpText = "Right click to check this box";
checkBox.OwnHelp = true;
checkBox.StatusText = "Checkbox status text";
checkBox.OwnStatus = true;
Assert.AreEqual(50.0d, checkBox.CheckBoxSize);
Assert.False(checkBox.Checked);
Assert.False(checkBox.Default);
builder.InsertBreak(BreakType.ParagraphBreak);
// Utilizzare un generatore di documenti per inserire un campo di input di testo nel modulo.
builder.Write("Enter text here: ");
FormField textInput = builder.InsertTextInput("MyTextInput", TextFormFieldType.Regular, "", "Placeholder text", 50);
textInput.EntryMacro = "EntryMacro";
textInput.ExitMacro = "ExitMacro";
textInput.TextInputDefault = "Regular";
textInput.TextInputFormat = "FIRST CAPITAL";
textInput.SetTextInputValue("New placeholder text");
Assert.AreEqual(TextFormFieldType.Regular, textInput.TextInputType);
Assert.AreEqual(50, textInput.MaxLength);
// Questa raccolta contiene tutti i campi del nostro modulo.
FormFieldCollection formFields = doc.Range.FormFields;
Assert.AreEqual(3, formFields.Count);
// I campi mostrano i campi del nostro modulo. Possiamo vedere i loro codici aprendo questo documento.
// in Microsoft e premendo Alt + F9. Questi campi non hanno switch,
// e i membri dell'oggetto FormField gestiscono completamente il contenuto dei loro campi modulo.
Assert.AreEqual(3, doc.Range.Fields.Count);
Assert.AreEqual(" FORMDROPDOWN \u0001", doc.Range.Fields[0].GetFieldCode());
Assert.AreEqual(" FORMCHECKBOX \u0001", doc.Range.Fields[1].GetFieldCode());
Assert.AreEqual(" FORMTEXT \u0001", doc.Range.Fields[2].GetFieldCode());
// Consenti a ciascun campo del modulo di accettare un visitatore del documento.
FormFieldVisitor formFieldVisitor = new FormFieldVisitor();
using (IEnumerator<FormField> fieldEnumerator = formFields.GetEnumerator())
while (fieldEnumerator.MoveNext())
fieldEnumerator.Current.Accept(formFieldVisitor);
Console.WriteLine(formFieldVisitor.GetText());
doc.UpdateFields();
doc.Save(ArtifactsDir + "FormFields.Visitor.html");
}
/// <summary>
/// Implementazione del visitatore che stampa i dettagli dei campi del modulo che visita.
/// </summary>
public class FormFieldVisitor : DocumentVisitor
{
public FormFieldVisitor()
{
mBuilder = new StringBuilder();
}
/// <summary>
/// Chiamato quando nel documento viene rilevato un nodo FormField.
/// </summary>
public override VisitorAction VisitFormField(FormField formField)
{
AppendLine(formField.Type + ": \"" + formField.Name + "\"");
AppendLine("\tStatus: " + (formField.Enabled ? "Enabled" : "Disabled"));
AppendLine("\tHelp Text: " + formField.HelpText);
AppendLine("\tEntry macro name: " + formField.EntryMacro);
AppendLine("\tExit macro name: " + formField.ExitMacro);
switch (formField.Type)
{
case FieldType.FieldFormDropDown:
AppendLine("\tDrop-down items count: " + formField.DropDownItems.Count + ", default selected item index: " + formField.DropDownSelectedIndex);
AppendLine("\tDrop-down items: " + string.Join(", ", formField.DropDownItems.ToArray()));
break;
case FieldType.FieldFormCheckBox:
AppendLine("\tCheckbox size: " + formField.CheckBoxSize);
AppendLine("\t" + "Checkbox is currently: " + (formField.Checked ? "checked, " : "unchecked, ") + "by default: " + (formField.Default ? "checked" : "unchecked"));
break;
case FieldType.FieldFormTextInput:
AppendLine("\tInput format: " + formField.TextInputFormat);
AppendLine("\tCurrent contents: " + formField.Result);
break;
}
// Lascia che il visitatore continui a visitare altri nodi.
return VisitorAction.Continue;
}
/// <summary>
/// Aggiunge un testo terminato da un carattere di nuova riga all'output corrente.
/// </summary>
private void AppendLine(string text)
{
mBuilder.Append(text + '\n');
}
/// <summary>
/// Ottiene il testo normale del documento accumulato dal visitatore.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
private readonly StringBuilder mBuilder;
}
Guarda anche
- class FormField
- spazio dei nomi Aspose.Words.Fields
- assemblea Aspose.Words