http://social.msdn.microsoft.com/forums/en-US/winforms/thread/e04e9308-bff5-4fbb-8cd6-0b2cd957aa68/?prof=requirednativen Verhalten von ComboBox ändern - comboBox ist hightlighted wenn seine Größe ändert
Nach einem anderen Forum, ist dieses Thema kein MS, weil sie sagen, dass das „native“ Verhalten des CombBox ist.
Wenn die ComboBox einen DropDownStyle = DropDown hat und ihre Größe ändert, wird der Text hervorgehoben, wenn das Formular viele ComboBox scheint, dass die Steuerelemente ausgewählt sind.
Um dieses Problem zu vermeiden, schlägt ein Typ vor, den WndProc zu überschreiben. Everthing funktionierte gut, bis nur ein Client ein nicht behandelter Fehler
System.ArgumentOutOfRangeException: InvalidArgument=Value of '-2136611475' is not valid for 'start'.
Parameter name: start
at System.Windows.Forms.ComboBox.Select(Int32 start, Int32 length)
at System.Windows.Forms.ComboBox.set_SelectionLength(Int32 value)...............
Klasse ComboBoxEx berichtet hat: ComboBox { const int WM_SIZE = 5;
protected override void WndProc(ref Message m)
{
switch(m.Msg)
{
case WM_SIZE:
string text = Text;
base.WndProc(ref m);
//The exception strangely is trown here
SelectionLength = 0;
Text = text;
break;
default:
base.WndProc(ref m);
break;
}
}
}
Ich weiß nicht, den Grund, warum dies nur mit einem Client geschieht. Irgendeine Idee? Danke, luisnike19
I don kenne die Antwort nicht, aber du solltest wahrscheinlich ein Windows Forms-Tag hinzufügen. Könnte helfen, es vor Leuten zu bringen, die mehr Zeit auf diesen Fragen verbringen. – Mallioch