2009-03-13 4 views
1

私はvb.net(Windowsフォーム)で小さなチャットアプリケーションを行っているので、私はチャットボックスのデザインに問題があります。テキストメッセージを選択可能にしたいので、ユーザーはメッセージを送信したユーザー名を表示するユーザー名ではなくコピー(Ctrl + V)することができます。これを達成するためにどのようなフォームコントロールを使用し、それからどのプロパティを変更する必要がありますか?ありがとうございました。また、ユーザー名とそのメッセージが正しく整列されている必要があります。チャットボックス(.net)に使用するフォームコントロール

+0

なぜあなたはそれを望みますか?どのチャットボックスでもユーザー名が選択でき、会話を選択するときに便利なので、誰が何を言ったのか分かります:) – Stormenet

答えて

5

キャッチCtrl + Cキーとユーザ名のために選択したテキストを解析し、それらに

を削除(多分あなたは、標準のテキストのコピーペーストを防ぐことができますどのようなユーザ名の画像を作ることができる)

1

さて、ここではかなりクールなアイデアですしかし、私はそれがあなたのために働くかどうかを知るためにあなたの要件について十分に知りません。まず最初に、チャットアプリケーションを使用している場合は、単にメッセージをクリックしてクリップボードにコピーさせたいと考えています。結局のところ、メッセージをクリックする必要があるとは思えません。したがって、メッセージ上にマウスカーソルを置くと強調表示され、クリックするとコピーされるようにすると効果的です。

それがあなたの状況でうまくいくならば、問題はそれを達成する方法です。私は、メッセージを送信したユーザー名を表示するためにラベルを使用し、メッセージ自体を表示するために読み取り専用のテキストボックスを使用できると考えています。チャットに新しいメッセージが追加されるたびに、これらのコントロールをページのコントロールコレクションに追加することで、新しいラベルと新しいテキストボックスを挿入します。おそらく、divにラベルとテキストボックスをラップする必要があるので、divの全体をハイライト表示することができます。

ここで、クリックするとメッセージのテキストがクリップボードにコピーされます。それはいくつかのJavaScriptがかかります。 JavaScriptライブラリを使用している場合は、そのライブラリが提供するものを参照してください。そうでない場合、ここにいくつかのリンクがあります。 JavaScriptのコードはテキストボックスの内容のみを取得する必要があります。テキストボックスの内容は、適切なCSSクラスまたは正しいIDを探して行うことができます。そして、これらのリンクで説明したようにクリップボードにそのテキストをコピーします。

Javascript for copying to clipboard

A 2nd link about Javascript for copying to clipboard

A 3rd link about Javascript for copying to clipboard

A 4th link about Javascript for copying to clipboard

ところで、多分あなたはそのユーザーの要件を持っています多くのメッセージのテキストを選択できる必要があります。その場合、メッセージをクリックするとそのメッセージが「選択」され、複数のものを選択できます。次に、「選択したすべてのメッセージをコピー」ボタンがあります。これが処理しないのは、メッセージのテキストの一部を選択することだけです。だからあなたのニーズに合っているかもしれません。

3

DataGridViewコントロールの使用について考えましたか?

ユーザー名とメッセージの列を別々にして、メッセージ列からのコピーのみを許可することができます。

DataGridViewコントロールは最近非常に強力で、必要に応じて外観をカスタマイズすることができます(たとえば、グリッド線を隠してテキストボックスのように見えるようにする)。

ここにヒントとヒントがありますが、this pageはグリッド線の色を変更する方法を示しています。

0

2つのテキストボックスを選択し、2人の異なるユーザーのユーザー名とパスワードを検証し、メッセージを表示するためのリストボックスを使用すると、コードでユーザー間のチャットにソケット接続を開きます。

関連する問題