请问一下wpf能否实现消息提示框 就像qq消息的那种 右下角弹出 ?能的话 请贴出代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问一下wpf能否实现消息提示框 就像qq消息的那种 右下角弹出 ?能的话 请贴出代码相关的知识,希望对你有一定的参考价值。

能,做一个窗口,在需要它弹出的时候,在特定的位置show()就可以了。追问

其实 我已经解决了 用动画

参考技术A 你好,与你共同学习,下面代码已经编译通过:
public WindowApp()

InitializeComponent();
ShowWindow();

void ShowWindow()

//MessageWindow 是你自定义的窗口消息框,width和height一定要赋值
MessageWindow msgWindow = new MessageWindow () Width = 200, Height = 100 ;
msgWindow.WindowStartupLocation = WindowStartupLocation.Manual;
msgWindow.ShowInTaskbar = false;

msgWindow.Left = SystemParameters.WorkArea.Width - msgWindow.Width;
msgWindow.Top = SystemParameters.WorkArea.Height - msgWindow.Height;
msgWindow.Show();
本回答被提问者和网友采纳
参考技术B // 引用
System.Drawing;

System.Windows.Forms;

// MainWindow_Loaded 事件代码

// 初始化并加载 NotifyIcon
var ni = new System.Windows.Forms.NotifyIcon();
ni.Icon = System.Drawing.SystemIcons.Shield;
ni.Text = "NotifyIcon 示例 (Text)";
ni.BalloonTipText = "如何在 WPF 中使用 NofityIcon...";
ni.BalloonTipTitle = "NotifyIcon 示例 (BalloonTipTitle)";
ni.Visible = true; // 显示 NotifyIcon
ni.MouseClick += (obj, args) =>

var mouse = "Left";
if (args.Button == System.Windows.Forms.MouseButtons.Right) mouse = "Right";
ni.ShowBalloonTip(0, ni.Text,
string.Format("0:HH:mm:dd f 1 MouseClick\r\n如何在 WPF 中使用 NofityIcon...",
DateTime.Now, mouse),
System.Windows.Forms.ToolTipIcon.Info);
;
// BalloonTipClicked 事件
ni.BalloonTipClicked += (obj, args) =>

ni.ShowBalloonTip(1000);
MessageBox.Show("BalloonTipClicked");
;
// 窗口 Closing 事件
this.Closing += (obj, args) =>

ni.Visible = false; // 隐藏 NotifyIcon
;

ASP页面即时提示消息框代码

就像163邮箱那样,有新消息的时候弹框提示,用ASP代码怎么实现?

参考技术A asp.net
中可以实现即时消息提示功能的代码很多的sns网站都提供了短消息功能。
而且,如果我们在线的话会很快的收到好友的短消息。
这里介绍一种客户端的方法,简单实现。
主要的表:
user

:Uid
UName
Password
三个字段
Message

:Mid,
SenderId,
ReceiverId,
State,
Detail(SenderId和
ReceiverId)都是外键且对应user表中的Uid。
主要的思路很简单:用js每隔五秒钟发送一次ajax请求,获取当前用户在Message表中State为未读取(这里约定为数字1)且ReceverId为当前用户ID的Message
记录的数量。
页面的代码:
<%@
Page
Language="C#"
CodeBehind="Default.aspx.cs"
Inherits="MIDemo._Default"
%>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="
http://www.w3.org/1999/xhtml"
>
<head
runat="server">

<title>无标题页</title>

<!--
两个js脚本文件-->

<script
type="text/javascript"
src="SqlHelp/jquery-1.3.2.js"></script>

<script
type="text/javascript"
src="SqlHelp/GetMessageCount.js"></script>
</head>
<body>

<form
id="form1"
runat="server">

<div
style="
border-color:Green;
border-style:solid;
margin-top:100px;
margin-left:300px;
width:300px;
height:50px;
text-align:center;">

您有<input
type="text"
value="0"
id="messageCount"/><a
href="ShowMessage.aspx">条短消息</a>

</div>

</form>
</body>
</html>
js代码:这里用到了Jquery框架,不再赘述,网上有很多的资料。
GetMessageCount.js
//------GetMessageCount.js
Begin----------------------
if(!GetMessageCount)

var
GetMessageCount
=
;

$(document).ready(

function()

GetMessageCount.FindMessage();


);
GetMessageCount.FindMessage
=
function()

$.ajax(

//处理ajax请求

url:'FindNewMessage.ashx',

//
当前用户的ID,这里图省事就省略了,直接写死为
1,

//实际使用过程中可以从session中获取





data:Uid:1,

cache:
false,

//回调函数返回未读短信数目

success:
function(response)



$('#messageCount').val(response);

,

error:function(data)



alert("加载失败");



);

//每隔5
秒递归调用一次,刷新未读短信数目

window.setTimeout(GetMessageCount.FindMessage,5000);核心语句

//------GetMessageCount.js
End----------------------
到了这里,贴出处理ajax请求页面的代码,非常简单
FindNewMessage.ashx
//----------------'FindNewMessage.ashx
Begin
using
System;
using
System.Collections;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
using
System.Web.Services.Protocols;
using
System.Xml.Linq;
namespace
MIDemo


///
<summary>

///
$codebehindclassname$
的摘要说明

///
</summary>
[WebService(Namespace
=
"
http://tempuri.org/")]

[WebServiceBinding(ConformsTo
=
WsiProfiles.BasicProfile1_1)]

public
class
FindNewMessage
:
IHttpHandler



public
void
ProcessRequest(HttpContext
context)



context.Response.ContentType
=
"text/plain";

//就这一句代码,获取未读短信的数量,返回页面

//后台的sql代码就省略了

int
count
=
SqlHelp.SqlHelp.GetUnreadMessageCount(Convert.ToInt32(context.Request["Uid"]));

//返回页面

context.Response.Write(count);



public
bool
IsReusable



get



return
false;







//----------------'FindNewMessage.ashx
End

以上是关于请问一下wpf能否实现消息提示框 就像qq消息的那种 右下角弹出 ?能的话 请贴出代码的主要内容,如果未能解决你的问题,请参考以下文章

wpf实现QQ表情弹出框效果

.NET的消息框

WPF中要实现如QQ一样的消息输入与显示,需要用啥控件

请问js高手,我想做一个动态的消息提示框,但是用绝对定位的提示框会随滚动条的移动被遮挡?

WPF实现消息提醒(广告弹窗)

Qt-实现QQ群聊消息框