using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
System.Windows.Threading.DispatcherTimer timmer;
const int WM_CLOSE = 0x00000111;
[System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
public MainWindow()
{
InitializeComponent();
}
private void msgShow_Click1(object sender, RoutedEventArgs e)
{
timmer = new System.Windows.Threading.DispatcherTimer();
timmer.Tick += Timmer_Tick;
timmer.Interval = new TimeSpan(0, 0, 3);
timmer.Start();
MessageBoxResult result = MessageBox.Show("hello", "Information", MessageBoxButton.OK, MessageBoxImage.Information);
if (result == MessageBoxResult.OK)
{
Console.WriteLine("OK");
}
ToolTip toolTip = grid.ToolTip as ToolTip;
toolTip.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint;
toolTip.PlacementTarget = sender as Button;
toolTip.Visibility = Visibility.Visible;
toolTip.IsOpen = true;
toolTip.Content = "zhang : 3
zhou : 5";
}
private void msgShow_Click2(object sender, RoutedEventArgs e)
{
timmer = new System.Windows.Threading.DispatcherTimer();
timmer.Tick += Timmer_Tick;
timmer.Interval = new TimeSpan(0, 0, 3);
timmer.Start();
MessageBoxResult result = MessageBox.Show("hello", "Information", MessageBoxButton.YesNo, MessageBoxImage.Information);
if (result == MessageBoxResult.Yes)
{
Console.WriteLine("Yes");
}
else
{
Console.WriteLine("No");
}
ToolTip toolTip = grid.ToolTip as ToolTip;
toolTip.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint;
toolTip.PlacementTarget = sender as Button;
toolTip.Visibility = Visibility.Visible;
toolTip.IsOpen = true;
toolTip.Content = "zhang : 7
zhou : 8";
}
private void msgShow_Click3(object sender, RoutedEventArgs e)
{
timmer = new System.Windows.Threading.DispatcherTimer();
timmer.Tick += Timmer_Tick;
timmer.Interval = new TimeSpan(0, 0, 3);
timmer.Start();
MessageBoxResult result = MessageBox.Show("hello", "Information", MessageBoxButton.OKCancel, MessageBoxImage.Information);
if (result == MessageBoxResult.OK)
{
Console.WriteLine("ok");
}
else
{
Console.WriteLine("Cancle");
}
ToolTip toolTip = grid.ToolTip as ToolTip;
toolTip.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint;
toolTip.PlacementTarget = sender as Button;
toolTip.Visibility = Visibility.Visible;
toolTip.IsOpen = true;
toolTip.Content = "zhang : 9
zhou : 10";
}
private void msgShow_Click4(object sender, RoutedEventArgs e)
{
timmer = new System.Windows.Threading.DispatcherTimer();
timmer.Tick += Timmer_Tick;
timmer.Interval = new TimeSpan(0, 0, 3);
timmer.Start();
MessageBoxResult result = MessageBox.Show("hello", "Information", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
if (result == MessageBoxResult.Yes)
{
Console.WriteLine("Yes");
}
else if (result == MessageBoxResult.Cancel)
{
Console.WriteLine("No");
}
else
{
Console.WriteLine("Cancle");
}
ToolTip toolTip = grid.ToolTip as ToolTip;
toolTip.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint;
toolTip.PlacementTarget = sender as Button;
toolTip.Visibility = Visibility.Visible;
toolTip.IsOpen = true;
toolTip.Content = "zhang : 11
zhou : 12";
}
private void Timmer_Tick(object sender, EventArgs e)
{
timmer.Stop();
IntPtr mbWnd = FindWindow(null, "Information");
if (mbWnd != IntPtr.Zero)
{
SendMessage(mbWnd, WM_CLOSE, new IntPtr(7), IntPtr.Zero);
}
}
private void msgShow_MouseLeave(object sender, MouseEventArgs e)
{
ToolTip toolTip = grid.ToolTip as ToolTip;
toolTip.Visibility = Visibility.Hidden;
}
}
}