Frage

als ich eine kleine Chat-Anwendung in vb.net (Windows-Formular) tue, ich habe Probleme für die Gestaltung meiner Chatbox. Ich würde Textnachrichten wie wählbar zu sein, damit Benutzer kopieren (Strg + v) es aber nicht, die Benutzernamen anzeigt, die die Nachricht gesendet hat. Welche Form Kontrollen soll ich verwenden, um dies zu erreichen, und welche Objekte es zu ändern? Danke. Denken Sie auch daran Benutzernamen und ihre Botschaften müssen korrekt ausgerichtet sind.

War es hilfreich?

Lösung

die ctrl + c fangen und den ausgewählten Text für Benutzernamen analysieren und löschen

(vielleicht können Sie die Benutzernamen Bilder machen, was Standard-Text kopieren und einfügen verhindern wird)

Andere Tipps

Haben Sie sich Gedanken über die Verwendung einer Datagridview Kontrolle?

könnten Sie haben separate Spalten für die Benutzername und die Nachrichten und erlauben nur aus der Spalte Nachricht kopieren.

Das Steuerelement Datagridview ist extrem leistungsfähig in diesen Tagen und Sie erlauben würde, das Aussehen anpassen, wie Sie wollen (Rasterlinien verstecken, um es so aussehen, wie ein Textfeld zum Beispiel).

Es gibt Tipps und Hinweise, alle über den Ort, aber dieser Seite zeigt, wie Rasterlinienfarben ändern.

Nun, hier ist eine ziemlich coole Idee, aber ich weiß nicht genug über Ihre Anforderungen zu wissen, ob es für Sie arbeiten wird oder nicht. Ich denke dabei vor allem, dass, wenn ich eine Chat-Anwendung verwendet haben, möchte ich einfach auf eine Nachricht klicken und ihn in die Zwischenablage kopiert werden. Schließlich kann denke ich an nichts anderes ich auf eine Nachricht klicken bräuchten. So wäre es toll, wenn die Maus über eine Nachricht verursacht es hervorzuheben, und klicken verursacht es kopiert werden.

Wenn das für Ihre Situation funktioniert, dann ist die Frage, wie das zu erreichen. Ich denke, dass Sie ein Label verwenden könnten die Benutzername zu zeigen, wer die Nachricht gesendet hat, und eine Nur-Lese-Textbox die Nachricht selbst zu zeigen. Jedes Mal, wenn eine neue Nachricht an den Chat hinzugefügt wird, legen Sie ein neues Label und eine neue Textbox (durch diese Kontrollen an die Kontrollen Sammlung der Seite hinzufügen). Wahrscheinlich sollte das Etikett und die Textbox in einem div wickeln, so dass Sie die gesamte div markieren, wenn sie schweben.

Nun, wie wollen Sie machen auf den Text der Nachricht dazu führen, in die Zwischenablage kopiert werden? Es wird einige JavaScript nehmen. Wenn Sie eine JavaScript-Bibliothek verwenden, sehen, was er anbietet. Wenn nicht, sind hier einige Links. Der Javascript-Code würde nur den Inhalt der Textbox bekommen, die sie von der Suche nach der richtigen CSS-Klasse oder den richtigen IDs zu tun. Und dann, kopieren Sie diesen Text in die Zwischenablage, wie in diesen Verbindungen beschrieben:

Javascript für das Kopieren

in die Zwischenablage kopieren

A 2. Link über Javascript für das Kopieren

in die Zwischenablage kopieren

A 3. Link über Javascript für das Kopieren in die Zwischenablage kopieren

A 4. Verbindung über Javascript für das Kopieren in die Zwischenablage kopieren

By the way, vielleicht haben Sie die Anforderung, dass Benutzer sollten den Text viele Nachrichten auswählen können. In diesem Fall auf eine Meldung, vielleicht einem Klick auf „wählt“, und Sie können haben ausgewählte Multiples. Dann gibt es eine Taste für „Kopieren Alle Selected Messages“. Das einzige, was bedeutet dies nicht handhaben ist Teil des Textes einer Nachricht auswählen. So kann es oder auch nicht für Ihre Bedürfnisse richtig sein.

die beiden Textfelder Durch die Auswahl und den Benutzernamen und das Passwort für zwei verschiedene Benutzer zu validieren und die Listenfelder nehmen die Meldungen zu sehen, in Code eine Socket-Verbindung öffnen zwischen den Nutzern zu chatten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top