Возникли проблемы с визуальной привязкой студии при выходе и возвращении в прежнюю форму - PullRequest
0 голосов
/ 21 апреля 2020

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

Me.label1.DataBindings.Add("Visible", Me.checkbox1, "Checked")

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

1 Ответ

1 голос
/ 22 апреля 2020
  • Удалите эту строку кода из формы. Load

  • Откройте форму в конструкторе, та, на которой есть метка и флажок

  • Установите флажок

  • В сетке свойств разверните (PropertyBinding) и откройте раскрывающийся список рядом с (нет), нажмите Новый внизу

enter image description here

  • Выберите начальное значение и выберите имя для настройки. Если вы хотите сохранить его и восстановить в следующий раз, когда программа откроется, сделайте ее доступной для пользователя

enter image description here

  • Сейчас go для вашего ярлыка, свойств, нажмите [...] рядом с (PropertyBinding), чтобы увидеть список всех привязываемых свойств, выделите Видимый и выпадающий, чтобы выбрать тот же параметр

enter image description here

  • Запустите программу.

Примечание к сведению; когда я сделал это, я думаю, что мог столкнуться с ошибкой / особенностью привязки данных (которую я планирую исследовать больше) в том, что поведение было только таким, как ожидалось, если bool начинается как true (поэтому элемент управления виден), когда привязка настроить. Если элемент управления невидим, он никогда не связывается должным образом, чтобы увидеть, когда свойство стало истинным - так что в качестве обходного пути (чисто в этом случае, когда мы связываем Visible), замените его вызов InitializeComponent () этим, в конструкторе формы :

        if (!Properties.Settings.Default.FormatWithoutConfirmation)
        {
            Properties.Settings.Default.FormatWithoutConfirmation = true;
            InitializeComponent();
            Properties.Settings.Default.FormatWithoutConfirmation = false;
        }
        else
            InitializeComponent();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...