MIT » 05.02.2009 (Чт) 14:53
Такой способ можно юзать для промотки группы контролов (например кучи чекбоксов), а не одного. Попытаюсь объяснить почему:
Во-первых меня терзает смутное подозрение, что "раздуть" контрол шире (выше) размеров PrimaryScreen не получится (попробуй раздвинуть форму шире экрана - не выйдет, хотя по поводу контролов не уверен)
Во-вторых в некоторых контролах важен отображаемый а не видимый участок. Возьмем ListView, там есть процедура EnsureVisible (которая должна "перематать" контрол на указанный элемент и показать его). А как она, по вашему, будет работать, если ListView растянут на всю высоту (а соответственно все элементы, по мнению контрола, видимы)?
В-третьих если (опять возьмем ListView) у меня 10000 элементов, то какая там у него высота-то будет?..
В-четвертых в некоторых случаях сложно просчитать необходимую высоту: для ListView тут просто - Кол-во_элементов * высоту_отдельного, даже с текстбоксом - MeasureString, а как просчитать высоту сложноформатированного текста RichTextBox`а?
В-пятых - в "умных" контролах есть функция скрытия скроллбаров прои отсутствии необходимости в них. Как это отловить?
Единственный плюс (хотя его полезность весьма сомнительна) - это возможность реализовать "перемотку пальцем", наподобие Adobe Reader`а или Photoshop`а.
You can change your face, but can`t change your mind. No matter what you do.Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш