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


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 если дочерние элементы можно изменить.

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

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