
Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Inseriti anche i sorgenti in C# dell'ultima versione 6.1
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
Gli do un'occhiata.. vediamo come posso aiutare
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
Ho capito il problema della TextBox che non accetta input..
Credo sia perchè tutti i tasti vengono intercettati dal metodo
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
Una prima soluzione potrebbe essere quella di inserire queste 2 righe alla fine della serie di if else nello stesso metodo
else
{
if(TextBox_Nome.Focused==true)
TextBox_Nome.Text += keyData.ToString();
}
|
(La soluzione presenta molti bug, ma potrebbe essere una strada da percorrere) Ultima modifica effettuata da Mikelius il 27/04/2018 alle 21:50 |
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
Ho capito il problema della TextBox che non accetta input..
Credo sia perchè tutti i tasti vengono intercettati dal metodo
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
Una prima soluzione potrebbe essere quella di inserire queste 2 righe alla fine della serie di if else nello stesso metodo
else
{
if(TextBox_Nome.Focused==true)
TextBox_Nome.Text += keyData.ToString();
}
|
(La soluzione presenta molti bug, ma potrebbe essere una strada da percorrere) |
si potrebbe funzionare, io ho aggirato il problema con il form di immissione nome
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
Si, avevo visto.
Personalmente avrei agito sulla proprietà Enable piuttosto che su quella Visible. §La form che sparisce e riappare sullo sfondo non è il massimo , ma de gustibus....
Ho visto un po il codice, ad esempio:
Codice sorgente - presumibilmente C++ |
switch (Max_Potenza_Raggiunta) { case 2: this.PictureBox1.Image = this.ImageList1.Images[0]; break; case 4: this.PictureBox1.Image = this.ImageList1.Images[1]; break; case 8: this.PictureBox1.Image = this.ImageList1.Images[2]; break; case 16: this.PictureBox1.Image = this.ImageList1.Images[3]; break; case 32: this.PictureBox1.Image = this.ImageList1.Images[4]; break; case 64: this.PictureBox1.Image = this.ImageList1.Images[5]; break; case 128: this.PictureBox1.Image = this.ImageList1.Images[6]; break; case 256: this.PictureBox1.Image = this.ImageList1.Images[7]; break; case 512: this.PictureBox1.Image = this.ImageList1.Images[8]; break; case 1024: this.PictureBox1.Image = this.ImageList1.Images[9]; break; case 2048: this.PictureBox1.Image = this.ImageList1.Images[10]; break; case 4096: this.PictureBox1.Image = this.ImageList1.Images[11]; break; case 8192: this.PictureBox1.Image = this.ImageList1.Images[12]; break; }
|
Può essere semplificato a livello di righe (meno righe più manutenibilità), ad esempio
if(Max_Potenza_Raggiunta > 0)
{
double indiceImage = Math.Log(Max_Potenza_Raggiunta, 2);
PictureBox1.Image = ImageList1.Images[(int)indiceImage - 1];
}
|
non credo che il calcolo del Logaritmo sia troppo esoso come risorse.
[P.s. non riesco a mostrare l'ultimo codice identato bene, bug?]
Ultima modifica effettuata da Mikelius il 29/04/2018 alle 1:39 |
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
Si, avevo visto.
Personalmente avrei agito sulla proprietà Enable piuttosto che su quella Visible. §La form che sparisce e riappare sullo sfondo non è il massimo , ma de gustibus....
Ho visto un po il codice, ad esempio:
Codice sorgente - presumibilmente C++ |
switch (Max_Potenza_Raggiunta) { case 2: this.PictureBox1.Image = this.ImageList1.Images[0]; break; case 4: this.PictureBox1.Image = this.ImageList1.Images[1]; break; case 8: this.PictureBox1.Image = this.ImageList1.Images[2]; break; case 16: this.PictureBox1.Image = this.ImageList1.Images[3]; break; case 32: this.PictureBox1.Image = this.ImageList1.Images[4]; break; case 64: this.PictureBox1.Image = this.ImageList1.Images[5]; break; case 128: this.PictureBox1.Image = this.ImageList1.Images[6]; break; case 256: this.PictureBox1.Image = this.ImageList1.Images[7]; break; case 512: this.PictureBox1.Image = this.ImageList1.Images[8]; break; case 1024: this.PictureBox1.Image = this.ImageList1.Images[9]; break; case 2048: this.PictureBox1.Image = this.ImageList1.Images[10]; break; case 4096: this.PictureBox1.Image = this.ImageList1.Images[11]; break; case 8192: this.PictureBox1.Image = this.ImageList1.Images[12]; break; }
|
Può essere semplificato a livello di righe (meno righe più manutenibilità), ad esempio
if(Max_Potenza_Raggiunta > 0)
{
double indiceImage = Math.Log(Max_Potenza_Raggiunta, 2);
PictureBox1.Image = ImageList1.Images[(int)indiceImage - 1];
}
|
non credo che il calcolo del Logaritmo sia troppo esoso come risorse.
[P.s. non riesco a mostrare l'ultimo codice identato bene, bug?]
|
Mikelius la tua soluzione semplifica il codice, si può sicuramente modificare, anche il visible si può cambiare
con enable
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
Visto l'uso di 2 form, ho provato ad impostare il programma con MDI.
Vedi se può essere utile (lascia stare il codice proprio del gioco, che ci sono cambiamenti qua e la senza versioni definitive, vedi solo la gestione delle form se può essere utile).
|
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
ho visto che hai fatto delle modifiche, quando hai una versione pronta la possiamo inserire, tu ti occuperai della
versione in C#, si inserisce il codice + l'exe
If ok Then GOTO Avanza else GOTO Inizia
|
|