在表单上显示通知

时间:2015-12-04 10:58:15

标签: c# winforms user-interface

我目前正在开发一个在DataGridView中显示客户端的应用程序。通过右键单击用户可以从网格中删除客户端,显示更详细的信息或将客户端放入ListBox供以后使用,而无需再次滚动整个网格。
如果所选客户端已经在ListBox中,则不会再次添加它。

到目前为止这个工作正常,但是当用户试图再次存储客户端时,我不希望我的应用程序根本不执行任何操作。
我希望表单在鼠标光标附近显示一个小文本通知,表示类似"客户端已经在列表中"并在一秒钟后自动消失。

可悲的是,我只能找到气球通知和Microsoft服务通知教程。

private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
    switch (item.Text)
    {
        case "Show detailed info":
            // Shows detailed info
            break;
        case "Store client for later":
            var c = ClientFactory.GetClient(ClientView.CurrentRow)
            if (listBox1.Items.Cast<object>().Any(mandant => mandant.ToString() == m.ToString()))
            {
                // Something like Notification.Show();
                return;
            }
        case "Delete client":
            // Deletes client
            break;
    }
}

1 个答案:

答案 0 :(得分:0)

<强>答案:
 最后我做了以下几点:

  • 将现有项检测从contextMenuStrip1_ItemClicked移至ClientView_CellMouseClick,当用户右键单击网格时调用该
  • 禁用MenuStripItem以存储客户端
  • 将其ToolTipText属性设置为&#34;客户端已在列表中#34;

像魅力一样。

感谢Bjarke的时间。