对我来说似乎还可以。也许您可以修改此示例以重现您的问题:
Form fff = new Form();
ElementHost eh = new ElementHost() { Dock = DockStyle.Top };
var dp = new System.Windows.Controls.DockPanel();
eh.BackColor = Color.LightYellow;
dp.Background = System.Windows.Media.Brushes.LightSkyBlue;
eh.Child = dp;
var combo = new System.Windows.Controls.ComboBox();
combo.Items.Add("Value1");
combo.Items.Add("Value2");
combo.Items.Add("Value3");
dp.Children.Add(combo); //new System.Windows.Controls.Button { Content = "Button Text" });
fff.Controls.Add(eh);
fff.IsMdiContainer = true;
var fc1 = new Form { TopLevel = false, Visible = true, Size = new Size(300,300), Location = new Point(100,100) };
var fc2 = new Form { TopLevel = false, Visible = true, Size = new Size(300,300), Location = new Point(100,100) };
fc1.MdiParent = fff;
fc2.MdiParent = fff;
fc1.GotFocus += delegate {
fc1.Text = "Got focus1";
};
fc2.GotFocus += delegate {
fc2.Text = "got focus2";
};
fc1.LostFocus += delegate {
fc1.Text = "Lost focus1";
};
fc2.LostFocus += delegate {
fc2.Text = "Lost focus2";
};
Application.Run(fff);