Eine ToolStripComboBox wird nach einem ToolStripButton platziert und wird von einem anderen Tool gefolgt, das rechts ausgerichtet ist. Wie richte ich die ToolStripComboBox am besten so ein, dass ihre Länge immer so angepasst wird, dass sie den gesamten verfügbaren Platz zwischen den vorhergehenden und den folgenden ToolStripButtons ausfüllt?Wie erstellt man eine ToolStripComboBox, um den gesamten verfügbaren Platz auf einem ToolStrip zu füllen?
In der Vergangenheit habe ich ein Eltern-Resize-Ereignis behandelt, berechne die neue Länge, um basierend auf benachbarten Elementkoordinaten festzulegen und die neue Größe festzulegen. Aber jetzt, während ich eine neue Anwendung entwickle, frage ich mich, ob es keinen besseren Weg gibt.
Hier geht ein Problem (ich kann mich nicht erinnern, dass ich solche in der Vergangenheit hatte, als ich V2005 verwendete). Bei jeder ungeraden Signifikanz (der Effekt tritt nicht auf, wenn der Größenunterschied so klein wie ein paar Pixel oder so ist) Größenverringerung verschwindet ein ToolStripComboBox (erscheint, wenn ich es wieder verkleinere (und verschwindet wieder, wenn ich es noch einmal verkleinere)) oder erhöhen Sie es). AutoResize ist auf "false" gesetzt, eine Erhöhung der zu subtrahierenden Ziffer (in Ihrem Beispiel 4) hat nicht geholfen. Der ToolStrip befindet sich in einem SplitContainer-Bedienfeld und wird bei jeder Größenänderung eines Modells durch Ziehen des SplitContainer-Splitters skaliert. – Ivan
Der am häufigsten auftretende Fall des von mir beschriebenen Problemmusters ist das Wiederherstellen eines Formulars aus dem maximierten Zustand - beide ToolStripComboBoxes (im linken Bereich und im rechten Bereich) verschwinden in diesem Fall. – Ivan
Um das 'ToolStripComboBox' daran zu hindern, zu verschwinden, nachdem das 'Benutzerformular' aus dem maximierten Zustand in der Größe geändert wurde, benutzte ich diesen Hack:' ToolStripComboBox.Visible = false; ToolStripComboBox.Visible = true; 'im' toolStrip1_Resize'-Ereignishandler direkt nach 'toolStripComboBox1.Width = ...'. HTH – dee