Re[3]: Комплекс диктатора и WPF API
От: Pavel Dvorkin Россия  
Дата: 08.02.25 15:48
Оценка:
Здравствуйте, Baiker, Вы писали:

B>В том и прикол, что никакого массива нет. Есть контрол. Мы ему дали некий список из 10 элементов. И вот где-то в середине работы я получаю число для выделения элемента: либо -5, либо 0...9. Почему ListBox.SelectedIndex не может проглотить -5??? Очевидно же, что юзерские данные валидируются контролом нещадно, поэтому либо выделяем один элемент по валидному индексу, либо... снимаем всё выделение! Логика проще пареной репы. Но не у макрософака.


Хоть и поздно, но отвечу.

Для совместимости с winforms, которая в свою очередь базируется на Win API. А там сказано

Указывает отсчитываемый от нуля индекс выбранной строки. Если этот параметр имеет значение -1, в списке не будет выбора.

....

При возникновении ошибки возвращаемое значение будет LB_ERR.

которое и портируется в .NET как ArgumentException

https://learn.microsoft.com/ru-ru/windows/win32/controls/lb-setcursel

Почему сделали совместимо — думаю. понятно. Никому не хочется переделывать программу при переходе с Winforms на WPF
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.