110,545
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace WpfApp
{
class myApp:Application
{
[STAThread]
public static void Main()
{
myApp app = new myApp();
//经反复测试得出的结论:这里必须用OnExplicitShutdown强调显式结束应用程序,先启动登录==〉后启动主程序的运行机制才能得以实现
app.ShutdownMode = ShutdownMode.OnExplicitShutdown;
app.Run();
}
private void win_Closed(object sender, System.EventArgs e)
{
Application.Current.Shutdown(); //显式结束应用程序
}
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
//MessageBox.Show(e.Args[2]); //命令行参数
Window winDlg = new Window1();
winDlg.ShowInTaskbar = false;
winDlg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
//需要说明的是:WindowsForm中的DialogResult枚举在WPF中已经消失。害我折腾许久,最后在国外网站才找到。。。
//bool dlgResult = (bool)winDlg.ShowDialog(); //强类型转换,也行
bool? dlgResult = winDlg.ShowDialog(); //注意这里的写法,感觉怪怪。。。
if (dlgResult.Value ==true)
{
Window winMain = new Window();
this.MainWindow = winMain;
winMain.WindowStartupLocation = WindowStartupLocation.CenterScreen;
winMain.Closed += new EventHandler(win_Closed);
winMain.Title = "WPF。。。学习。。。哈哈。。。";
//给主窗体加背景图案,详见Charles Petzold名著《Application = Code + Markup》
//Uri uri = new Uri(@"E:\icons\QT_0605_11\QT_0605_11\ladybug.png");
Uri uri = new Uri(Environment.GetEnvironmentVariable("windir") + @"\Web\Wallpaper\img24.jpg");
BitmapImage bmp = new BitmapImage(uri);
Image img = new Image();
img.Stretch = Stretch.Fill;
img.Source = bmp;
winMain.Content = img;
winMain.Show();
}
else
{
Application.Current.Shutdown(); //显式结束应用程序
}
}
}
}