【问题标题】:How to show multiple queue messeges one after the other in c#如何在c#中一个接一个地显示多个队列消息
【发布时间】:2017-04-05 15:20:48
【问题描述】:

c#(客户端-服务器窗体应用程序):

鉴于我有多个来自服务器端的消息,我保存在列表/字典中。

如何一一显示/弹出窗口消息? (例如,对于应用程序更新,您会看到通知)。对于一个消息显示弹出窗口不是问题,但是当有多个消息时事情会变得复杂。

如何避免第二条(例如最后一条)消息覆盖/替换第一条(较早)消息的文本而用户只看到第二条(最后一条)消息文本的情况?

以下是我的做法:

// messages coming from server
// 1 : "test message 1"
// 2 : "test message 2"

// create update-recieved event 

 var e = new UpdateReceivedEventArgs(serverMessages);

// once the update from server is recieved ,  function should update the GUI for each server message, i.e, popup-window will appear for each server message, and user will do some interaction (e.g click ok) and program ends.

有什么提示吗?示例代码?

【问题讨论】:

  • 你让我们无事可做;您使用的是哪种“队列”?什么样的“信息”;这些都是非常广泛的术语。你如何展示它们?一条消息“覆盖”另一个消息是什么意思?请提供代码。

标签: c# winforms user-interface client-server


【解决方案1】:

我会创建一个类来处理您的消息。当服务器传递消息时,让它包含优先级或消息类型,以便您的消息处理程序类知道应该如何处理它。

如果消息是通知,那么它可以只显示一个通知更新等的图标。

如果消息是优先的,则需要一个“弹出框”。如果在弹出框仍然可见时收到另一条消息,您可以将该消息附加到另一条消息的末尾,以避免最终用户单击多个弹出框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2018-01-13
    • 1970-01-01
    • 2023-03-04
    • 2014-04-13
    相关资源
    最近更新 更多