Ich habe ein Benutzersteuerelement, das ein Textfeld und ein Listenfeld verwendet. Das Listenfeld ist nicht sichtbar, es wird nur sichtbar, wenn der Benutzer mit der Eingabe beginnt oder in das Textfeld klickt.Bringen Sie ein Steuerelement nach vorne
Ich habe das Benutzersteuerelement zu einer Gruppe hinzugefügt, die auf dem Formular ist.
Jetzt, wenn die Listox sichtbar wird, bleibt sie im Gruppenfeld und kann nicht die volle Höhe sehen. Ich möchte es oben schwimmen, damit ich die volle Höhe sehen kann.
Ich habe mich umgesehen, einige Lösungen implementiert, aber nichts hat für mich funktioniert.
Konstruktor für die Benutzersteuerung
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;
}
}
}
und das folgende Verfahren macht die List-Box sichtbar. Beide setChildIndex (kommentiert und nicht kommentiert) werfen ein Fehler
private void makeListBoxVisible()
{
Form parentForm = (this.FindForm() as Form);
//parentForm.Controls.SetChildIndex(listBox, 0);
this.Controls.SetChildIndex(listBox, 0);
listBox.Visible = true;
listBox.BringToFront();
}
Was ist der beste Ansatz für so etwas wie diese Behandlung?
Meine Umgebung ist VS2010 und WinForms.
Warum nicht einfach eine ComboBox verwenden, die Sie zu imitieren scheinen? – LarsTech
Erstellen etwas nah an dem, was sie derzeit haben und haben ein Problem mit. –
Sie können es auf diese Weise versuchen: [Wie Dropdown-Informationsfeld in C# Winforms erstellen?] (Https://stackoverflow.com/a/21289062/719186) – LarsTech