C# 把操纵杆放在前面

C# 把操纵杆放在前面,c#,winforms,C#,Winforms,我有一个使用文本框和列表框的用户控件。列表框不可见,它仅在用户开始键入或单击文本框时才可见 我已将用户控件添加到窗体上的组框中 现在,当listox可见时,它将停留在组框中,无法看到完整高度。我不想让它浮在上面,这样我就能看到整个高度 我环顾四周,实施了一些解决方案,但没有任何效果 用户控件的构造函数 namespace YarCustomControl { public partial class YarCustom : TextBox { public Ya

我有一个使用文本框和列表框的用户控件。列表框不可见,它仅在用户开始键入或单击文本框时才可见

我已将用户控件添加到窗体上的组框中

现在,当listox可见时,它将停留在组框中,无法看到完整高度。我不想让它浮在上面,这样我就能看到整个高度

我环顾四周,实施了一些解决方案,但没有任何效果

用户控件的构造函数

namespace YarCustomControl
{
    public partial class YarCustom : TextBox 
    {
        public YarCustom()
        {
            InitializeComponent();

            _code = "";
            _id = -1;

            //list box handling
            listBox = new ListBox();
            listBox.Visible = false;
            listBox.Font = this.Font;
            listBox.Location = this.Location;
            listBox.BorderStyle = BorderStyle.Fixed3D;
            listBox.Resize += new EventHandler(listBox_Resize);
            //listBox.SelectedValueChanged += new EventHandler(listBox_SelectedValueChanged);
            listBox.KeyDown += new KeyEventHandler(listBox_KeyDown);
            listBox.Click += new EventHandler(listBox_Click);

            //test => no affect on listbox
            this.Controls.Add(listBox);

            listBox.Visible = false;

        }
}
}
下面的方法使列表框可见。SetchildIndex(已注释和未注释)都会引发错误

private void makeListBoxVisible()
        {
            Form parentForm = (this.FindForm() as Form);

            //parentForm.Controls.SetChildIndex(listBox, 0);
            this.Controls.SetChildIndex(listBox, 0);
            listBox.Visible = true;
            listBox.BringToFront();
        }

处理这种事情的最佳方法是什么

我的环境是VS2010和WinForms

现在,当listox可见时,它将保留在组框中, 看不到整个高度。我不想让它浮在上面,这样我就可以 看全高


只需将其直接放在表单上。

为什么不直接使用一个组合框呢?你似乎在模仿它?创建一些与他们目前拥有的东西接近的东西,并且他们有问题。你可以这样尝试:不能。它将取代当前的控件,因为它们没有源代码,并且面临某些问题。