Main start achter een folder?

Status
Niet open voor verdere reacties.

Dante1986

Gebruiker
Lid geworden
8 jan 2012
Berichten
9
ik heb een WPF applicatie, en daarbij heb ik een Splashscreen gemaakt, met een processbar.

dit lijkt allemaal prima te werken.

echter, als ik hem build en test gebeurd het volgdende:

- ik start de vanuit een mapje op de schijf (bijv de ../bin/release/ )
- splash screen toont en processbar start te lopen
- bij 100% gaat pocessbar weg en start de main applicatie
echter, de main applicatie, start niet op de voorgrond, maar achter de map vanuit waar de exe is uitgevoerd (in dit geval de ../release/ )

heeft iemand enig idee waarom dit gebeurd, en hoe ik dit kan oplossen?

hier wat code snippits:
in de main
[CPP]
using ........
//etc etc...

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{

//creating the exitmessage for use later on, after all, we want to use this in an other method.
string exitmessage = null;



public MainWindow()
{
//start new thread and use that for splashscreen.
Thread t = new Thread(new ThreadStart(SplashScreen));
t.SetApartmentState(ApartmentState.STA);
t.Start();
Thread.Sleep(5000);
//start mainwindow
InitializeComponent();
//end splash proc.
t.Abort();

//region //check lang

}

public void SplashScreen()
{
WpfApplication1.Window4 X = new WpfApplication1.Window4();
X.ShowDialog();
}

// region //etc.. app stuff

}
}
[/CPP]


en in de window4 (het spash screen)
[CPP]
using .....
//etc.. etc...

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window4.xaml
/// </summary>
public partial class Window4 : Window
{

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();


public Window4()
{
InitializeComponent();
Timer1();
}

public void Timer1()
{
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,0,0,25);
dispatcherTimer.Start();
}

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
if (progressBar1.Value == 100)
dispatcherTimer.Stop();
else
progressBar1.Value++;
}

}

}
[/CPP]

hopelijk kan iemand me helpen.
alvast bedankt!
 
Laatst bewerkt:
Het enige wat ik me kan bedenken is de plaats van initializecomponent na de splashscreen. Voor de rest kan ik het in ieder geval niet vinden binnen deze code
 
intussen het volgende artikel tegen gekomen:
http://romenlaw.blogspot.com/2008/07/wpf-splash-with-progressbar.html

deze doet de splash met een wat andere manier.
zoals het artikel heb ik het intussen ook werkend.

echer, is er iemand die me misschien kan vertellen hoe ik (via methode als in dat artikel) een progressbar kan laten vullen ?
bijv aan de hand van een timer en dan .value ?
dan kan ik dit later bijv weer aan wat anders koppelen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan