суббота, 15 марта 2014 г.

Как сделать TabControl без закладок.

В некоторых случаях, функциональность контрола TabControl - это самое то, что нужно, но вот наличие закладок портит всю малину ;) Например, вам нужно реализовать что-то типа мастера, или что-то типа workflow с определенными шагами... В общем, рассказываю. Как всегда ничего сложного, всего два простых действия.


1. Создаем класс, унаследованный от System.Windows.Forms.TabControl, в котором переопределяем метод WndProc. Нас интересует сообщение TCM_ADJUSTRECT, которое посылается TabControl'у для вычисления размера вместе с закладками. Все что нужно, чтобы закладки не рисовались это перехватить это сообщение и ответить, что все хорошо, все обработано. Проверка на DesignMode нужна чтобы в дизайнере вкладки все-таки рисовались.

    public partial class TablessTabControl : System.Windows.Forms.TabControl
    {
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x1328 && !DesignMode)
                m.Result = (IntPtr)1;
            else
            base.WndProc(ref m);
        }
    }

2. После компиляции проекта TablessTabControl появится в тулбоксе и  его можно будет использовать.

1 комментарий:

  1. ship đồ từ nhật về việt nam ngày càng phát triển với những phương châm mang lại nhiều thuận lợi và tiện ích cho quý khách hàng sử dụng
    vận chuyển hàng nhật việt đã và đang được nhiều khách hàng sử dụng
    nhận ship hàng từ nhật về hà nội nhanh chóng với hàng ở các tỉnh thàn lớn đặc biệt là Hà Nội.
    Các doanh nghiệp muốn nhận chuyển hàng từ nhật về tphcm hãy liên hệ ngay với chúng tôi để nhận được những ưu đãi tốt nhất.
    Hy vọng nhận vận chuyển hàng từ nhật về sẽ mang lại nhiều sự hài lòng từ quý khách hàng.
    Trong xu thế hiện nay, nhu cầu mua sắm hàng nhập ngoài của người dân tăng cao. Kênh thương mại điện tử Amazon tại Nhật bản cũng đang được nhiều người tiêu dùng tại Việt Nam chú tâm đến. mua hàng trên amazon ship về việt nam đã và đang được rất nhiều người tiêu dùng Việt Nam sử dụng để mua những mặt hàng ở Mỹ, và Nhật.

    ОтветитьУдалить