
dedalux (Normal User)
Pro
    
Messaggi: 155
Iscritto: 14/02/2009
|
Salve a tutti,
come da titolo io ho crato un programmino, questo programma dopo aver modificato dei file, va a lanciare un secondo programma da button, e dopo averlo lanciato si minimizza, ora succede a volte che nn si riduce nella barra applicazioni(il mio programma), ma resti invece in primo piano, spostandosi leggermente x un secondo (il movimento verso l'angolo in basso a dx di un programma che nn risponde), e dopo quell'attimo una label e una checkbox si spostano verticalmente di un po, se ripremo il button, succede la stessa cosa e i pulsanti finiscono sempre piu in alto...
E' odioso oltre che strano nn succede al resto degli elementi del form..
In piu succede raramente, che sia uno "sfasamento" grafico x l'attimo in cui viene eseguito il secondo programma? (che tra l'altro è abbastanza pesante)
       
Ultima modifica effettuata da dedalux il 02/04/2009 alle 15:22 |
|

ruggy94 (Member)
Guru
    
Messaggi: 890
Iscritto: 21/04/2008
|
di certo non è normale...posta il codice e vediamo se si può migliorare
|
|

dedalux (Normal User)
Pro
    
Messaggi: 155
Iscritto: 14/02/2009
|
il problema è che nn saprei quale parte del codice postare
posto il codice che viene avviato al click del button
Codice sorgente - presumibilmente VB.NET |
Public Sub TentaAvvio() On Error Resume Next If IO. File. Exists(My. Application. Info. DirectoryPath. ToString & "\Wow.exe") = True Then If Form1.CheckBox1.Checked = True Then Shell(My.Application.Info.DirectoryPath.ToString & "\Wow.exe", AppWinStyle.MaximizedFocus) NascondiRoba() Form1.WindowState = FormWindowState.Minimized ElseIf Form1.CheckBox1.Checked = False Then Dim warrealm As String = My.Application.Info.DirectoryPath & "\Realmlist.wtf" Dim datarealm As String = My.Application.Info.DirectoryPath & "\Data\enGB\Realmlist.wtf" Dim x As String x = Form1.Lista.FocusedItem.SubItems(1).Text IO. File. WriteAllText(warrealm, "set realmlist " & x. ToString) IO. File. WriteAllText(datarealm, "set realmlist " & x. ToString) Shell(My.Application.Info.DirectoryPath.ToString & "\Wow.exe", AppWinStyle.MaximizedFocus) NascondiRoba() Form1.WindowState = FormWindowState.Minimized End If Else MessageBox.Show("bla bla bla", "bla bla bla", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1) End If
|
Ultima modifica effettuata da dedalux il 02/04/2009 alle 13:13 |
|

ruggy94 (Member)
Guru
    
Messaggi: 890
Iscritto: 21/04/2008
|
Si, probabilmente il problema è causato dalla pesantezza di Wow.exe (sarebbe World of Warcraft??). Nel tuo codice prima avvii Wow.exe e poi riduci la finestra...sarebbe meglio fare al contrario. Prima di fare modifiche al code potresti dirmi cosa fa la sub NascondiRoba()? così vedo di sistemare meglio il codice.
|
|

dedalux (Normal User)
Pro
    
Messaggi: 155
Iscritto: 14/02/2009
|
si ci avevo pensato a farlo prima. poi pero mi son dimenticato preso da altri pensieri XD
comunque
Codice sorgente - presumibilmente VB.NET |
Public Sub NascondiRoba() With Form1 .btnLista.Text = "Mostra Lista" .Lista.Visible = False .btnAggiungiServer.Visible = False .btnRimuoviServer.Visible = False .btnView1.Visible = False .btnView2.Visible = False .btnView3.Visible = False .btnVie
|
P.S. si è world of warcraft
|
|

ruggy94 (Member)
Guru
    
Messaggi: 890
Iscritto: 21/04/2008
|
Ho scritto il codice con quella modificae l'ho anche semplificato un po'
Codice sorgente - presumibilmente VB.NET |
Public Sub TentaAvvio() On Error Resume Next If IO. File. Exists(My. Application. Info. DirectoryPath. ToString & "\Wow.exe") = True Then If Form1.CheckBox1.Checked = False Then Dim warrealm As String = My.Application.Info.DirectoryPath & "\Realmlist.wtf" Dim datarealm As String = My.Application.Info.DirectoryPath & "\Data\enGB\Realmlist.wtf" Dim x As String x = Form1.Lista.FocusedItem.SubItems(1).Text IO. File. WriteAllText(warrealm, "set realmlist " & x. ToString) IO. File. WriteAllText(datarealm, "set realmlist " & x. ToString) End If NascondiRoba() Form1.WindowState = FormWindowState.Minimized Shell(My.Application.Info.DirectoryPath.ToString & "\Wow.exe", AppWinStyle.MaximizedFocus) Else MessageBox.Show("bla bla bla", "bla bla bla", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1) End If
|
|
|

dedalux (Normal User)
Pro
    
Messaggi: 155
Iscritto: 14/02/2009
|
Ti ringrazio cmq sono riuscito a risolvere cosi
Codice sorgente - presumibilmente VB.NET |
If IO. File. Exists(My. Application. Info. DirectoryPath. ToString & "\Wow.exe") = True Then NascondiRoba() If Form1.CheckBox1.Checked = True Then Shell(My.Application.Info.DirectoryPath.ToString & "\Wow.exe", AppWinStyle.MaximizedFocus) NascondiRoba() ElseIf Form1.CheckBox1.Checked = False Then ecc ecc....
|
probabilmente era quell'attivo in cui il computer rallentava, ma mi chiedo su 4gb di ram cosa deve rallentare a ram libera....
cmq letteralmente i pulsanti si spostavano e funzionavano li dove si erano messi.. XD XD
Ultima modifica effettuata da dedalux il 02/04/2009 alle 15:20 |
|

fabriziorocca (Normal User)
Guru
    
Messaggi: 1162
Iscritto: 22/03/2009
|
anche io ho avuto una volta un problema del genere ...
comunque sono contento che tu abbia trovato la soluzione (il codice) per risolverlo !
|
|