2014-12-15 4 views
-1

Я использую C#, и я создаю простую конструкцию, где у меня есть пользовательский элемент управления и некоторые компоненты внутри него, как древовидные структуры и кнопки. Я пытаюсь заполнить treeview некоторыми узлами и перетащить эти узлы в другое дерево и использовать кнопки для копирования узлов из стороны в другую.Измените компоненты внутри пользовательского управления, а maximiziing

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

Я установил свойство Dock элемента управления пользователя для заполнения.

Я изменил свойства привязки кнопок и древовидной структуры внутри пользовательского элемента управления, но поведение было не таким, как ожидалось. Например, я попытался установить свойство anchor для правильного treeview как Top, Bottom, Left =>, и результат был катастрофой

Я также сделал много комбинаций для свойства привязки всех кнопок, но ничто не дало мне правильного поведения. Мне просто нужно только максимизировать оконную форму, и элементы управления будут максимизированы с той же пропорцией.

+0

Снимок экрана? Было бы намного легче понять. Вы также хотите изменить размер кнопок при максимизации формы? – C4u

+0

Вы понимаете, что именно делают док и якоря? Потому что это довольно просто, и любое странное поведение можно легко решить, просто взглянув на содержащий элемент управления. Кнопка обычно привязана к углу (вверху слева, внизу справа и т. Д.), Поэтому они не изменяются. – Andrew

+0

@ C4ud3x Я попытался загрузить фотографии, но я не мог, потому что это первый раз, и здесь требуется, чтобы у меня было 10 рекомендаций :) – MohamedSalem

ответ

0

Похоже, что вам нужен интерфейс «3 колонки», где у вас есть TreeView с обеих сторон и Button s посередине, чтобы можно было перемещаться между ними. Предполагая, что это правильно, вы можете выполнить автоматическое изменение размера с помощью TableLayout.

По существу, это было бы так:

  1. Добавить TableLayout и редактируйте строк/столбцов так, что есть одна строка с 3-мя колонками: будет размером
    • первая и последняя колонка на 50% (и будет держать ваши TreeView с).
    • Середина будет абсолютным размером (например) 120. Это удерживало бы ваш Buttons.
  2. Свойства свойства этого нового TableLayout to Dock -> Заполните форму. Это позволит увеличить размер всей таблицы с вашей формой.
  3. Добавьте свои TreeView элементы управления в левый/правый столбцы и установите их в Dock -> Заполните соответствующие столбцы. Поскольку эти столбцы имеют динамический размер, они будут расти вместе с формой.
  4. В вашей средней колонке добавьте Panel и установите его в Dock -> Fill. Мы добавляем Panel здесь для хранения нескольких Button, которые вы используете для перемещения. Это Panel будет не расти в размере, потому что средний столбик абсолютно.
  5. Добавить Button s в центр Panel.

Без скриншота я не совсем уверен, чего вы пытаетесь достичь, но я считаю, что это происходит по этому пути. Самое приятное в этой настройке - нулевой код.

+0

Спасибо Джейсону за ваш ответ, но после того, как вы упомянули выше, я столкнулся с следующей формой формы: http://www.photobox.co .uk/my/photo/full? photo_id = 2528881399 Это то, о чем я не думал, мне нужно добавить древовидную структуру в центре формы, и когда она будет максимальной, она будет по-прежнему в центре, сохраняя тот же пропорция с формой просто для максимизации и минимизации легко :) – MohamedSalem

+0

Это то, что я пытаюсь сделать И это то, что я получаю, когда я максимизирую: http://www.photobox.co.uk/my/photo/full ? photo_id = 2528891743 – MohamedSalem

+0

@MohamedSalem - Ваши графические ссылки работают. Он хочет, чтобы я создал учетную запись. –

Смежные вопросы