So wählen Sie mehrere Steuerelemente mit der Maus und ziehen über Sie

Ich möchte in der Lage sein zu ziehen über eine Reihe von Steuerelementen und wählen Sie diejenigen, die von einem bestimmten Typ (Textfelder).

Einmal den Drag-Vorgang abgeschlossen ist, will ich die Anzeige einer inputbox (ja, ich werde Referenz/Verwendung der VB .dll), dass der Benutzer den Wert eingegeben werden, in jede der ausgewählten TextBox.

Kann das getan werden? (natürlich, aber wie?)

Oder gibt es einen anderen Weg zum erreichen der gleichen Sache (dem Benutzer zu ermöglichen, schnell wählen Sie mehrere Steuerelemente, und führen Sie dann eine Aktion auf Ihnen allen auf einmal)?

Aktualisiert:

Habe ich diese Art von Arbeit - die "Einschränkung" oder "gotcha" ist, dass ich ein pop-up-MessageBox.Zeigen Sie (), um den Benutzer, für Sie zu arbeiten. Im Wesentlichen, Ich:

Setzen einer boolean true, auf den container (FlowLayoutPanel, in meinem Fall) MouseDown-Ereignis, wenn der rechten Maustaste ausgewählt wurde.

Eingestellt, die dieselbe Boolesche false auf den container MouseUp-Ereignis, wenn der rechten Maustaste ausgewählt wurde.

Habe ich dann einen freigegebenen MouseHover-Ereignis-handler für alle Textfelder auf dem Formular, dass, wenn der boolean true ist, ändert sich die Hintergrundfarbe (zu Gainsboro, in meinem Fall aus dem Fenster).

In den container MouseUp-event, zu dem ich auch eine InputBox (referenzieren/importieren/die Verwendung der VB .dll) für die Beantragung der Benutzer geben Sie den Wert, der allgemein für die "markierte" Textfelder. Ich habe dann die Schleife durch Sie, auf der Suche für diejenigen, die BackColor -, und assing den vom Benutzer angegebenen Wert auf deren Text-Eigenschaften.

Voila!

Leider die Textfelder' Eigenschaft Geändert scheint sich nicht geändert zu werden, wenn Sie ordnen Sie die Werte so, also ich hatte zu umgehen, dass (explizit die Einstellung "Speichern" - button aktiviert), und ich hatte, um mehr code zu duplizieren meine KeyPressed-code, die Grenzen der Werte vom Benutzer eingegeben werden.

So, es ist natürlich möglich, wenn auch ein wenig notdürftigem. Ich habe noch nicht entschieden, ob die MessageBox.Show() ist ein "bug" oder ein feature, wenn...

Einen post ist: Warum MouseHover-Ereignis nur aufgerufen werden, wenn eine messagebox.show() oder Haltepunkt tritt auf, bevor es?

  • Können Sie enthalten keine Beschränkungen auf, was Art der Kontrolle enthalten, die die TextBox-Steuerelemente?
  • Es ist ein FlowLayoutPanel, in diesem Fall.
  • Du hast dich verändert deine Frage aus dem original. Sollten Sie schließen Sie diese Frage und erstellen Sie eine neue. Es ist nicht wirklich deutlich mehr, was deine Frage jetzt ist, und Sie scheinen zu haben eine Menge von unbekannten, an dieser Stelle und jetzt scheint es, gerade wie schlechtes design von deinem update.
Schreibe einen Kommentar