Как остановить прокрутку сетки C1.Win.C1FlexGrid в окне?

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

Какие-либо предложения?


person Chinh Nguyen    schedule 23.05.2020    source источник
comment
Привет, я просматриваю твой пост. Хотя это хороший вопрос, всегда полезно добавить код, чтобы сообщество знало, над чем вы уже работали, и могло помочь вам лучше.   -  person rainer    schedule 23.05.2020


Ответы (2)


Вот поведение моей сетки: https://gifyu.com/image/nRtw

Я добавляю сетку C1FlexGrid для формирования в событии загрузки формы:

private void voucher_Load (объект-отправитель, EventArgs e) {

        voucherlib.voucherlib.ListGridDetails[0].Name = "grdCtDkList";
        this.grpCt1.Controls.Add(voucherlib.voucherlib.ListGridDetails[0]);
        voucherlib.voucherlib.ListGridDetails[0].Dock = DockStyle.Fill;
    }

Я использую C1FlexGrid из ComponentOne для .NET 2.0.

person Chinh Nguyen    schedule 24.05.2020

Я выяснил, что в нашем настраиваемом элементе управления сеткой, унаследованном от C1FlexGrid, есть метод OnEnter

public class FAGrid : C1FlexGrid
{
       public FAGrid();
       //
       protect override void  OnEnter(EventArgs e)
       {
         this.Select(1,1);
          base.OnEnter(e);
       }
}

Это причина странного поведения. Удалил метод OnEnter, работает. Спасибо.

person Chinh Nguyen    schedule 30.05.2020