Devexpress TabHeader исчезает - PullRequest
       3

Devexpress TabHeader исчезает

0 голосов
/ 24 декабря 2018

Я создал ленточную форму (XtraMain), и для свойства IsMdiContainer я установил значение true, я также добавляю контрольный документ documentManager. Для MdiParent установлено значение XtraMain. Я добавил этот код для открытия дочерних форм

public void ViewChildForm(XtraForm _form)
    {
        if (!IsFormActived(_form))
        {
            _form.MdiParent = this;
            _form.Show();
        }

    }
  private bool IsFormActived(XtraForm form)
    {
        bool IsOpenend = false;
        if (MdiChildren.Count() > 0)
        {
            foreach (var item in MdiChildren)
            {
                if (form.Name == item.Name)
                {

                    tabbedView1.ActivateDocument(item);
                    IsOpenend = true;
                }

            }
        }
        return IsOpenend;
    }

и использую его.этот код при нажатии кнопки открывает дочернюю форму

        private void bbtnEmployee_ItemClick(object sender, ItemClickEventArgs e)
    {
        FrmEmployee frme = new FrmEmployee();
        frme.Name = "FrmEmployee";
        ViewChildForm(frme);
    }

моя проблема запускается, когда форма содержит LayoutControl, например, у меня есть этот код, который открывается при нажатии кнопки

        private void btnBonLivraison_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
    {
        LayoutControl lc = new LayoutControl();
        lc.Dock = DockStyle.Top;
        LookUpEdit OrderNumber = new LookUpEdit();
        OrderNumber.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
        OrderNumber.Properties.DataSource = shippProdu.GetOrderNumber();
        OrderNumber.Properties.DisplayMember = "N° Bon de livraison";
        OrderNumber.Properties.ValueMember = "N° Bon de livraison";
        lc.AddItem(Resources.selectOrderNumber, OrderNumber).TextVisible = true;
        lc.Height = 70;
        this.Controls.Add(lc);
        this.Dock = DockStyle.Top;
        lc.BestFit();

Когда я нажимаю на кнопку, TabHeader исчезает, что является причиной этой проблемы? и как я могу ее решить. Прежде чем использовать documentManager, я использовал XtraTabControl, и если я нажимаю кнопку, чтобы открыть LayoutControl, и после этого пытаюсь открыть другую форму, оставшийся фокусв первой форме, даже когда вторая форма уже открыта, и если я хочу перейти ко второй форме, я должен сначала щелкнуть вкладку первой формы, а затем щелкнуть вкладку второй формы, заранее спасибо.это моя основная форма enter image description here

и это когда исчезает eader enter image description here

1 Ответ

0 голосов
/ 24 декабря 2018

Если DocumentManager находится в той же форме, к которой вы добавляете LayoutControl, это ожидаемое поведение.DocumentManager помещает хост специальных документов в основную форму и устанавливает для свойства Dock значение Fill.Вот почему неправильно размещать LayoutControl на одной форме и пристыковывать его к краям формы.

Если вам нужно одновременно показывать документы с вкладками и LayoutControl в одной форме, не используйте режим MDI.Рассмотрим использование отдельного UserControl.Поместите свой DocumentManager там.Затем поместите этот UserControl в вашу форму.Обратите внимание, что в этом случае для свойства Dock UserControl должно быть установлено значение Top или Bottom, поскольку LayoutControl должен заполнять всю доступную область или наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...