目前在我的 WPF 应用程序中,我有一个只读的多个文本框。所以用户可以选择文本然后Ctrl++ C Ctrl。V但我想让这个任务更简单:
- 如果用户只是左键单击文本框(或显示我的文本的另一个控件),则所有文本都将复制到剪贴板
但是用户仍然可以像以前一样选择文本
任何想法以 XAML 风格做到这一点?
解决了,我会自动将所选的任何文本复制到剪贴板。知道如果双击文本框会选择所有文本,用户只需双击即可复制剪贴板中的所有文本。
至于鼠标悬停动画。获取鼠标悬停动画并在鼠标位于按钮边界内时更改指针。这是有关鼠标悬停事件的链接:
http://dotnetdud.blogspot.com/2009/01/how-to-use-c-mouseover-events-in.html
以下是在文本框 mouseclick 事件上设置剪贴板数据的方法:
private void textbox_mouseClick(object sender, EventArgs e)
{
if (((TextBox)sender).Text == string.Empty)
return;
else
{
try
{
Clipboard.SetText(((TextBox)sender).Text);
}
catch (Exception ex)
{
// Do something w/ exception
}
}
}
对于剪贴板问题,您可以创建一个 onclick 处理程序并使用 C# 中的内置剪贴板功能(如何在 C# 中将数据复制到剪贴板)。
对于工具提示,您需要使用 onload 处理程序和 C# 中的内置工具提示功能:
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");
没有做太多动画,但如果我没记错的话,你也可以设置一个 onhover 处理程序。(编辑:MouseHover 事件处理程序可能是您正在寻找的。)
编辑:基本上,事件处理程序是你的朋友。