unr*_*ity 5 c# tooltip winforms
如果您使用Windows Vista或更高版本,您可能已经看到了这种工具提示,带有彩色文本和图标:

我使用各种关键字搜索,例如Explorer,Aero,Windows,工具提示,并没有遇到任何有关如何实现此目的的有用信息.
最好,我想解决WinForms的问题.有人有运气吗?
这篇关于wyDay的博客文章有解决方案.
它链接到一个名为"Shell Style Drag and Drop in .NET"的3部分系列:
第3部分链接到此存档,其中包含大量项目.请注意,为了进行编译,您可能需要设置DragDropLib和WpfDragDropLib项目以允许不安全的代码.
里面有样品,但为方便起见,这里有一个摘录:
#region Drop target accepting FileDrop
private void textBox2_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
DropTargetHelper.DragEnter(textBox2, e.Data, new Point(e.X, e.Y), e.Effect, "Copy to %1", "Here");
}
else
{
e.Effect = DragDropEffects.None;
DropTargetHelper.DragEnter(textBox2, e.Data, new Point(e.X, e.Y), e.Effect);
}
}
private void textBox2_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
DropTargetHelper.DragOver(new Point(e.X, e.Y), e.Effect);
}
private void textBox2_DragLeave(object sender, EventArgs e)
{
DropTargetHelper.DragLeave(textBox2);
}
private void textBox2_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
DropTargetHelper.Drop(e.Data, new Point(e.X, e.Y), e.Effect);
if (e.Effect == DragDropEffects.Copy)
AcceptFileDrop(textBox2, e.Data);
}
#endregion // Drop target accepting FileDrop
Run Code Online (Sandbox Code Playgroud)
从我的实验来看,似乎我可以写e.Effect = DragDropEffects.Copy;而不是e.Effect = e.AllowedEffect & DragDropEffects.Copy;; 虽然我目前还不明白&它的用途,所以有人可能会帮助我.除此之外,似乎文本删除类型不会显示描述工具提示.
否则,我对此非常满意.
希望这也有助于解决这个问题的任何人.
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |