2
嘿,我有一个richtextbox。要添加内容我这样做c#wpf richtextbox运行mouseup
Paragraph p = new Paragraph();
Run r;
r = new Run("[" + user + "]: ");
b = System.Windows.Media.Brushes.Black;
if (user.Equals(Program.LClient.strUserName))
b = Brushes.Blue;
r.Foreground = b;
r.ToolTip = DateTime.Now.ToLongTimeString() + " " + DateTime.Now.ToLongDateString() + "\nClick to whisper";
r.Cursor = Cursors.Hand;
r.Background = Brushes.White;
r.MouseEnter += delegate(object sender, MouseEventArgs e)
{
r.Background = new RadialGradientBrush(Colors.DarkGray, Colors.WhiteSmoke);
};
r.MouseLeave += delegate(object sender, MouseEventArgs e)
{
r.Background = Brushes.White;
};
r.PreviewMouseUp += delegate(object sender, MouseButtonEventArgs e)
{
tbMess.Text = "/w " + user + " ";
tbMess.Focus();
};
p.Inlines.Add(new Bold(r));
rtbChat.Document.Blocks.Add(p);
一切正常,除了我可以注册任何鼠标松开/关闭事件。鼠标进入和离开工作正常,只是由于某种原因不能得到任何buttonevents。另外,我没有任何注册到RichTextBox的鼠标事件。
另外,在给出替代方法来做到这一点之前阅读此。
我对寻找一种新方法不感兴趣。我知道我可以保留一系列我想跟踪的不同元素的位置,但我对此并不感兴趣。我没有发现任何文档说mouseup/down事件不可用于运行,所以必须有一种方法。
在此先感谢您的帮助。
“除了我无法注册任何mouseup/down事件,一切正常。”你得到一个错误,还是只是不工作? – 2011-03-05 02:21:33
@Mike Caron它不起作用。没有错误。我在委托内部放置了一个调试点,它永远不会到达,它里面没有任何事情发生。对于mouseup,mousedown,leftmouseup,leftmousedown等事件来说,这是事实。 – 2011-03-05 02:26:54