老实说,我不知道如何构建我的问题。但我的想法是,我想在我们的案例研究中复制facebook messenger的ui。我们的任务是制作一个猜谜游戏 我不知道我将如何编码我的想法。我的计划是每次点击发送按钮时添加一个新标签,添加附加标签的面板将被扩展,以便屏幕看起来是滑动的。
这是winform的截图。
这是我的btnSendClicked初始代码。
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);
}
答案 0 :(得分:0)
您需要跟踪您在Panel上呈现的标签,以便管理您的滚动机制,这可以通过循环算法来完成:
循环浏览Label
pnlGame
控件
pnlGame
的顶部,则隐藏标签(Visible = false)。这同样适用于底部。 (删除滚动时不应显示的所有标签),否则,取消隐藏标签以将其重新显示。将上述逻辑放入方法,例如void RefreshVisiblePanelMessages()
点击按钮生成新消息时,将新消息作为Label
添加到pnlGame
,然后拨打RefreshVisiblePanelMessages();
更新列表。