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