2016-09-19 33 views
-2

正直なところ、私は質問を構成する方法を知らない。しかし私の考えは、FacebookのメッセンジャーのUIをケーススタディにコピーしたいのです。私たちは推測ゲームを作ることを任されました。
私は自分の考えをどのようにコード化するのか分かりません。私の計画は、送信ボタンがクリックされるたびに新しいラベルを追加することでした。アドオン・ラベルが追加されるパネルは、画面がスライドして見えるように拡張されます。C#WinForms |ボタンをクリックしたときにラベルを追加する

ここにwinformのスクリーンショットがあります。ここで

btnSendClickedのための私の最初のコードです。内のすべてのLabelコントロールを

ループ:

private void btnSend_Click(object sender, EventArgs e) 
    { 
     Label lblnew = new System.Windows.Forms.Label(); 
     lblnew.Location = new Point(50, 50); 
     lblnew.Text = txtMessage.Text; 
     lblnew.AutoSize = true; 
     lblnew.BackColor = System.Drawing.Color.LightGray; 
     lblnew.Font = new System.Drawing.Font("Microsoft JhengHei UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 
     pnlGame.Controls.Add(lblnew); 
    } 
+3

実際の質問で質問を完了する必要があります。達成したいことがわかりますが、どの部分について助けが必要ですか? –

+0

新しいラベルを追加する際に助けが必要です。私の考えはできますか?私はまだ私のアイデアを続ける必要があるかどうかは分かりません。そのちょうど、私は本当にhahahaそれを行う方法を知っていません – KuysChan

+0

同じ場所にあなたのラベルを追加しています。私。右上に前のラベルの高さを考慮に入れてy点の値を変更してみてください。 –

答えて

0

あなたがループするアルゴリズムによって行うことができ、あなたのスクロール機構を、管理するために、あなたはパネル上でレンダリングしましたラベルを追跡するためにする必要がありますpnlGame

  • 現在のラベルのトップ位置は以下pnlGameのトップに等しい場合、(=可視偽)のラベルを非表示にします。同じことがボトムにも当てはまります。 (スクロールするときに表示されてはならないすべてのラベルを削除します)、そうでない場合は、ラベルの表示を解除して表示に戻します。

、新しいメッセージを生成し、あなたのpnlGameLabelとして新しいメッセージを追加し、リストを更新するためにRefreshVisiblePanelMessages();を呼び出すために、ボタンをクリックすると、メソッドにvoid RefreshVisiblePanelMessages()

のようなものを上記のロジックを入れて。

+0

ありがとうございました!これを試してみる:D – KuysChan

+0

あなたはそれを試してみることができましたか? –

関連する問題