Конечно, это возможно. Я не знаю, как сделать автоматическую связь между двумя элементами управления, поэтому вам придется написать код самостоятельно. Но не волнуйтесь, это не сложно.
Сначала вам нужно прикрепить обработчик к событию, которое вызывается каждым элементом управления при изменении его значения. Логично, что оба контролируют это событие одинаково: ValueChanged
. Затем в каждом методе обработчика событий вы можете программно установить значение другого элемента управления на новое значение первого элемента управления. Например:
void myNumericUpDown_ValueChanged(object sender, EventArgs e)
{
// Sync up the trackbar with the value just entered in the spinbox
myTrackBar.Value = Convert.ToInt32(myNumericUpDown.Value);
}
void myTrackBar_ValueChanged(object sender, EventArgs e)
{
// Sync up the spinbox with the value just set on the trackbar
myNumericUpDown.Value = myTrackBar.Value;
}
Очевидно, что для правильной работы этого необходимо либо убедиться, что элементы управления имеют одинаковый диапазон (максимальные и минимальные значения), либо добавить некоторые проверки ошибок в приведенный выше код.