Контроль данных не потеряет фокус

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

Когда я попытался выполнить отладку, чтобы точно увидеть, что происходит, я увидел, что всякий раз, когда я пытался покинуть элемент управления, вызывалось событие "Leave", обновлялось значение базы данных, однако сразу после этого вызывалось событие "Enter".

Вот код для привязки данных для numericUpDown, о котором я говорил. NumericUpDown называется Major_Tick_Number и привязан к свойству MajorTicks в поле Dial.Representation:

Major_Tick_Number.DataBindings.Add("Value", theDial.Representation, "MajorTicks"); 

И вот код дизайнера для этого:

this.Major_Tick_Number.Location = new System.Drawing.Point(195, 17);
this.Major_Tick_Number.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.Major_Tick_Number.Name = "Major_Tick_Number";
this.Major_Tick_Number.Size = new System.Drawing.Size(46, 20);
this.Major_Tick_Number.TabIndex = 63;
this.Major_Tick_Number.Value = new decimal(new int[] {
10,
0,
0,
0});

Опять же, привязка данных работает нормально в том смысле, что значение обновляется, но элемент управления просто не потеряет фокус.

Если я уберу привязку данных, управление получит и потеряет фокус как обычно.

Кое-что я хотел бы отметить: я использую Visual Studio 2008 и программирую на C#. Кроме того, моя форма имеет tabControl, а все остальные мои элементы управления находятся на tabControl, не уверен, что это имеет значение. Кроме того, я хотел бы подчеркнуть, что некоторые элементы управления (возможно, 25%) работают нормально, а некоторые имеют проблему фокуса, и я не могу видеть какой-либо шаблон, в котором элементы управления работают, а какие не работают.

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

Спасибо.

Вот свойство, к которому оно привязано

public float MajorTicks { 
    get { return otherObject.getMajorTicks(); } 
    set { otherObject.setMajorTicks(value); } 
} 

а в другом объекте (написано на управляемом с ++)

float getMajorTicks() {return majorTicks;}; 
void setMajorTicks(float val) {majorTicks = val;};

0 ответов

Другие вопросы по тегам