Самодельный ComboBox
От: Melya  
Дата: 28.08.08 14:47
Оценка:
Пытаюсь сделать собственный ComboBox. Для этого я рисую прямоугольник(вроде как TextBox) c кнопкой как у ComboBox, обрабатываю нажатие на эту конпку и выпадающее показываю окно. В качестве выпадающего окна я использую собственный класc унаследованый от ToolStripDropDown. работает всё отлично, фокус не убивается с родительской формы, в выпадающее окно могу лепить любые контролы, но есть проблема... когда активно окно ComboBox родительская форма не ловит сообщения движения мышки, тоесть кнопки на фоме не подсвечиваются, не меняется курсор при наведении мышкой на TextBox. Может кто то знает как решить эту проблему? Заранее благодарен за помощь!

Класc для выпадающего окна:


    public class DropDownWindow : ToolStripDropDown
    {
        ToolStripControlHost host;

        private Control _content;

        public Control Content
        {
            get { return _content; }
            set { _content = value; }
        }

        public DropDownWindow(Control content)
        {
            Content = content;
            host = new ToolStripControlHost(content);
            Padding = Margin = host.Padding = host.Margin = Padding.Empty;
            Items.Add(host);
        }
   }


Открываю его так:


        private void button1_Click(object sender, EventArgs e)
        {
            Button btn = new Button();
            btn.Size = new Size(100, 200);
            btn.Text = "btn";
            btn.Location = new Point(10, 10);

            DropDownWindow dropDown = new DropDownWindow(btn);

            dropDown.Show(myControl1, button1.Left, button1.Bottom);
        }
toolstripdropdown
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.