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


IValueProvider.SetValue(String) Метод

Определение

Задает значение элемента управления.

public:
 void SetValue(System::String ^ value);
public void SetValue (string value);
abstract member SetValue : string -> unit
Public Sub SetValue (value As String)

Параметры

value
String

Задаваемое значение. Поставщик отвечает за преобразование значения в соответствующий тип данных.

Исключения

Если данные, зависящие от языкового стандарта, передаются в элемент управления в неправильном формате: например, неправильно сформатированная дата.

Если новое значение не может быть преобразовано из строки в формат, распознаваемый элементом управления.

При попытке работы с элементом управления, который не включен.

Примеры

В следующем примере кода демонстрируется пользовательский элемент управления, который позволяет задать для его значения строку ограниченной длины.

/// <summary>
/// Sets the value of the control.
/// </summary>
/// <param name="value">
/// The new value.
/// </param>
void IValueProvider.SetValue(string value)
{
    if (((IValueProvider)this).IsReadOnly)
        throw new InvalidOperationException(
            "Operation cannot be performed.");
    // Arbitrary string length limit.
    if (value.Length > 5)
        throw new ArgumentOutOfRangeException(
            "String is greater than five characters in length.");
    controlValue = value;
}
''' <summary>
''' Sets the value of the control.
''' </summary>
''' <param name="value">
''' The new value.
''' </param>
Private Sub SetValue(ByVal value As String) Implements IValueProvider.SetValue
    If (CType(Me, IValueProvider)).IsReadOnly Then
        Throw New InvalidOperationException("Operation cannot be performed.")
    End If
    ' Arbitrary string length limit.
    If value.Length > 5 Then
        Throw New ArgumentOutOfRangeException("String is greater than five characters in length.")
    End If
    controlValue = value
End Sub

Комментарии

Однострочные элементы управления "Поле ввода" поддерживают программный доступ к своему содержимому путем реализации IValueProvider. Однако многострочные элементы управления "Поле ввода" не реализуют IValueProvider; вместо этого они предоставляют доступ к своему содержимому путем реализации ITextProvider.

Элементы управления, такие как ListItem и TreeItem , должны реализовывать IValueProvider , если значение любого из элементов доступно для редактирования, независимо от текущего режима редактирования элемента управления. Родительский элемент управления также должен реализовывать , IValueProvider если дочерние элементы доступны для редактирования.

Редактируемый элемент списка.
Пример редактируемого элемента списка

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